繁体   English   中英

无论如何要将多个值传递给单个参数

[英]Is there anyway to pass multiple values to a single argument

我有一个这样定义的功能:

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_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_cmd',它仅预期1个字符串,但是我希望所有3个字符串都通过,因此如果找到其中任何一个,成功则设置为false。

谢谢达蒙

根据其文档, pexpect将正则表达式作为其模式参数。 正则表达式也可能适用于cmd_success()模式。

尝试这个:

success = cmd_success(session, str_prompt, 'Invalid|Error|Incomplete')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM