从python类中的函数返回True | False

2024-09-24 02:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我不能从函数中得到返回值True | False。 我做错什么了?在

剧本大致是这样的。在

class getLogs:

    IAM=getpass.getuser()
    SRC_LOG_DIR='/server/log/session/'
    DST_LOG_DIR="/home/${IAM}/LOGS/"

    def __init__(self):

        parser = argparse.ArgumentParser()
        parser.add_argument("-S","--sessId", type=int, help="The SessionId of the logs to retreive for.")
        args = parser.parse_args()



        if not args.sessId:
            args.sessId = 'ns'
            os.system('clear')
            print ('\tNo sessid was set.')
            print ('\tTip: you can see what options you have by running "{} -h"'.format(__file__))            

        self.getSessID(args.sessId)

        if self.getSessID:
            print('\tI will get the logfiles for session ID "{}".'.format(self.sessId))            
            #Do something else

    def getSessID(self, sessId):

        if sessId == 'ns':
            menu='on'        
            while menu=='on':

                sys.stdout.write("\tPlease give me the sessionid of the logging :")
                sessId = raw_input()
                test = re.match("^[0-9]{5,7}$",sessId)

                if test:
                    menu='off'


                if not test:
                    print('\tError:\n\tSessionID should contain only numbers')
                    print('\tor sessID was not defined.')
                    print('\tor sessID length must be 5 to 7 characters')

        self.sessId = sessId
        return True

我从这个print self.getSessID和构造器函数中的if self.getSessID得到的是<bound method getLogs.getSessID of <__main__.getLogs instance at 0x7f5aa28e1518>>

我肯定我做错了什么,我不知道如何从函数的返回值中获取值。 有人能帮帮我吗?在


Tags: ofthe函数testselfparserifnot
1条回答
网友
1楼 · 发布于 2024-09-24 02:23:47

您没有对该方法执行任何操作,然后测试该方法是否存在:

self.getSessID(args.sessId)

if self.getSessID:
    print('\tI will get the logfiles for session ID "{}".'.format(self.sessId))            

您需要存储结果并测试该结果:

^{pr2}$

也可能是您想测试self.sessId,这是您在self.getSessID()方法中设置的。在

相关问题 更多 >