这里是模板,在while循环中,变量“index”是一个列表,所以,我无法理解代码“if index == 0”的意思是,索引[0] =“suc”,索引[1] =“失败”?请尽可能清楚。
import pexpect
while True:
index = child.expect(["suc","fail",pexpect.TIMEOUT])
if index == 0:
break
elif index == 1:
return False
elif index == 2:
pass #continue to wait
答案 0 :(得分:1)
expect()方法返回匹配的模式的索引。 index不是列表。
根据manual:
expect(pattern, timeout=-1, searchwindowsize=-1, async=False)
这将寻找直到模式匹配的流。 模式过载,可能需要几个 类型。模式可以是StringType,EOF,编译的re或任何这些类型的列表。字符串将是 编译为重新类型。 这会将索引返回到模式列表中。如果模式不是列表,则返回 成功匹配时索引为0。这可能会引发EOF或TIMEOUT的异常。避免EOF或 TIMEOUT例外将EOF或TIMEOUT添加到模式列表中。这将导致期望匹配EOF 或TIMEOUT条件,而不是引发异常。
如果传递模式列表和多个匹配项,则会选择流中的第一个匹配项。如果更多 如果一个模式在该点匹配,则选择模式列表中最左边的模式。