无论如何将多个值传递给单个参数
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()
目前,它只检查 'invalid' 字符串,但我想检查 'Error'、'Incomplete'。由于多种原因,我无法更改 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')
我有一个这样定义的函数:
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()
目前,它只检查 'invalid' 字符串,但我想检查 'Error'、'Incomplete'。由于多种原因,我无法更改 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')