pexpect Expect(pexpect.EOF)抛出异常而不输出

时间:2018-09-11 14:16:25

标签: python pexpect

我正在使用Python 2.7和pexpect 4.6.0

根据pexpect docs

  

如果您想阅读孩子的输出内容的末尾而没有   生成EOF异常,然后使用expect(pexpect.EOF)方法。

但是当我尝试这样做时,它会引发EOF异常。我如何期望EOF并获得孩子返​​回的所有输出?

child = pexpect.spawn("ssh user@server")
child.expect("[pP]assword")
child.sendline("password")
child.expect("\$")
print child.before + child.after
child.sendline("ifconfig")
child.expect(pexpect.EOF)    # this throws Exception

文档也这样说:

  

某些UNIX平台在您尝试从中读取时将引发异常   EOF状态的文件描述符。替代其他UNIX平台   悄悄地返回一个空字符串,表明EOF状态为   到达。

我们怎么知道这是问题所在?可能有什么解决方法?

0 个答案:

没有答案