【问题标题】:Python3: pexpect issue about expect listPython3:关于期望列表的期望问题
【发布时间】:2018-01-30 06:20:06
【问题描述】:

模板来了,在while循环中,变量“index”是一个列表,所以,我无法理解代码“if index == 0”的意思,index[0] = “suc”, index [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

【问题讨论】:

    标签: python-3.x expect pexpect


    【解决方案1】:

    expect() 方法返回匹配模式的索引。 index 不是列表。

    根据manual

    expect(pattern, timeout=-1, searchwindowsize=-1, async=False)

    这会在流中查找,直到匹配到模式。 模式超载,可能需要几个 类型。该模式可以是 StringType、EOF、已编译的 re 或任何这些类型的列表。字符串将是 编译为重新类型。 这会将索引返回到模式列表中。如果模式不是列表,则返回 成功匹配时索引 0。 这可能会引发 EOF 或 TIMEOUT 异常。为了避免 EOF 或 TIMEOUT 异常将 EOF 或 TIMEOUT 添加到模式列表中。这将导致期望匹配 EOF 或 TIMEOUT 条件,而不是引发异常。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      相关资源
      最近更新 更多