我正在使用 pexpect 来运行 bash 实例:
bash = pexpect.spawn("/bin/bash")
我希望能够“期待”这个输出的结束。目前我正在使用以下内容:
bash.sendline("ls -ltr")
lines = []
while True:
try:
bash.expect("\r\n", timeout=0.1)
lines.append(bash.before)
except pexpect.TIMEOUT:
print "TO"
break
这是有效的,但似乎无需等待 pexpect.TIMEOUT 即可检测到输出结束的效率更高。
请您参考如下方法:
您应该期待您的提示。 假设你的提示是“s”,你的代码应该是:
bash.expect(">")
或者甚至先为您的提示设置一个变量(以防您稍后想要更改您的提示;))
prompt = ">"
bash.expect(prompt)
