我正在使用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状态为 到达。
我们怎么知道这是问题所在?可能有什么解决方法?