我使用pexpect自动化一个名为instantmusic的程序。有时,这个程序在实际完成之前发送一个eof。这是一个截图(如果你看不到截图,我在问题的最后链接到了我更详细的bug报告):
我可以通过使用以下代码来检测适当的结尾:
child.expect(
['Deleting*(pass -k to keep)*', pexpect.EOF], timeout=3000)
然而,我的问题是pexpect不能捕获eof之外的输出(顺便说一句,不使用“pexpect.EOF”会使pexpect在遇到EOF时抛出异常。)
有办法解决这个问题吗
PS:我已经更详细地描述了这个bug here。但我通常喜欢能够处理这种情况,即使源程序有缺陷。因为在我看来这应该是可能的
似乎模式需要是一个正则表达式,那么这样会更好吗
pexpect似乎没有实现tcl expect glob样式的模式
相关问题 更多 >
编程相关推荐