【发布时间】:2019-04-17 19:40:29
【问题描述】:
我使用 pexpect 来自动化一个名为 Instantmusic 的程序。有时,该程序在实际完成之前发送一个 eof。这是一个屏幕截图(如果您看不懂屏幕截图,我已在问题末尾链接到我更详细的错误报告。):
我可以使用以下代码检测到适当的结尾:
child.expect(
['Deleting*(pass -k to keep)*', pexpect.EOF], timeout=3000)
但是,我的问题是 pexpect 没有捕获超出 eof 的输出。 (顺便说一句,不使用“pexpect.EOF”会使 pexpect 在遇到 EOF 时抛出异常。)
有没有办法解决这个问题?
PS:我已经更详细地描述了这个错误here。但是即使源程序有问题,我通常也希望能够处理这种情况。因为在我看来应该是可能的。
【问题讨论】:
-
请不要只发截图图片。
-
@EmilyE。截图不是解决问题所必需的,如果您认为有必要,我已链接到我的完整错误报告。
标签: python shell expect io-redirection pexpect