是否有将多个值传递给单个参数的方法

2024-04-25 22:23:30 发布

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

我有一个定义如下的函数:

def cmd_success(cmd_session, success_cmd, failure_cmd=None):
    ....
    ....

我在这里调用这个函数:

for command in commands:
success = cmd_success(session, str_prompt, 'Invalid')
if success == False:
    print "Invalid Command"
    sys.exit()

目前,它只检查'无效'字符串,但我想检查'错误','不完整'。由于许多原因,我无法更改cmd\u success函数中的代码,所以我正在寻找一种在函数调用期间执行此操作的方法。你知道吗

像这样:

for command in commands:
    success = cmd_success(session, str_prompt, ['Invalid', 'Error', Incomplete')
    if success == False:
        print "Invalid Command"
        sys.exit()

这不管用,给了我这个:

TypeError: got <type 'tuple'> (['Invalid', 'Error', 'Incomplete' ]) as pattern, must be one of: <type 'basestring'>, pexpect.EOF, pexpect.TIMEOUT

不管怎样,它能找到三根弦吗?参数是'failure\u cmd',它只需要1个字符串,但我希望传递所有3个字符串,因此如果找到其中任何一个,success设置为false。你知道吗

谢谢 达蒙


Tags: 函数字符串incmdfalseforiffailure