我正在尝试编写一个带有pexpect
的脚本,我需要在30分钟内获得大量输出,然后才能得到提示。
child.sendline('abc')
child.expect('.*:abc.*')
child.sendline('test')
# child.timeout=1500
# There will be huge output displayed for 30 minutes here
child.expect('.*:abc.*', timeout=1500)
status = child.after
print status
试图保持child.timeout
,但是提示帮助。
尝试使用child.expect
传递超时,但是提示帮助。
当输出量巨大且达到提示所需的时间大约是30分钟时,有什么方法可以指示某些提示?
答案 0 :(得分:1)
EOF异常表示您的子进程在命令超时之前退出。要处理这种情况,您可以提供期望列表并分别处理每个期望的逻辑
result = child.expect(['.*:abc.*', pexpect.TIMEOUT, pexpect.EOF], timeout=1500)
if result == 1:
# code to handle case where the expected string .*:abc.* was caught
if result == 2:
# code to handle timeout exception
if result == 3:
# code to handle EOF exception