末我使用pexpect
運行bash的實例:使用Pexpect的檢測慶典輸出
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。
你怎麼能指望來檢測輸出的結束?通過下一個提示?通過其他標記?通過延遲輸出? –
是的 - 如果它在100ms內沒有換新線,它就會停止 – TDN169
你誤解了我的問題。我在問你如何期望它停止?你會使用什麼標準來代替靜態超時? *如何*可以確定輸出的結束? –