3
我想通過python運行一個長進程(calculix模擬)。Async在進程運行時使用python讀取控制檯輸出
如前所述here一個可以與communicate()
讀取控制檯字符串。
據我瞭解,該過程完成後返回字符串?在進程運行時是否有可能獲得控制檯輸出?
我想通過python運行一個長進程(calculix模擬)。Async在進程運行時使用python讀取控制檯輸出
如前所述here一個可以與communicate()
讀取控制檯字符串。
據我瞭解,該過程完成後返回字符串?在進程運行時是否有可能獲得控制檯輸出?
你必須使用subprocess.Popen.poll
檢查進程終止與否。
while sub_process.poll() is None:
output_line = sub_process.stdout.readline()
這會給你運行時輸出。
這應該工作:
sp = subprocess.Popen([your args], stdout=subprocess.PIPE)
while sp.poll() is None: # sp.poll() returns None while subprocess is running
output = sp.stdout # here you have acccess to the stdout while the process is running
# Do stuff with stdout
通知我們不呼籲子在這裏交流()。
你的過程'calculix'在控制檯上模擬寫入數據,同時運行? – Nilesh
是的,當然它寫入控制檯 – daniel