[英]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.