Python3:关于期望列表的pexpect问题

时间:2018-01-30 06:20:07

标签: python-3.x expect pexpect

这里是模板,在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

1 个答案:

答案 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条件,而不是引发异常。

     

如果传递模式列表和多个匹配项,则会选择流中的第一个匹配项。如果更多   如果一个模式在该点匹配,则选择模式列表中最左边的模式。

相关问题