我正在使用子流程模塊從python運行二進制文件。python子流程輸出到標準輸出
拍攝由二進制產生的輸出,我使用:
proc = subprocess.Popen (command_args, shell=False, stdout=subprocess.PIPE)
out = proc.communicate()[0]
#print the output of the child process to stdout
print (out)
這樣做是印刷過程中的輸出後,已完成執行。無論如何,我可以打印此輸出到標準輸出程序正在執行?我真的需要看看輸出是什麼,因爲這些程序可以運行很長時間。
感謝您的幫助。
沒關係,大家好,我想我找到了解決辦法: '基本上,你有3種選擇: 使用線程到另一個線程讀取而不會阻塞主線程。 選擇stdout,stderr而不是通信。這樣,您可以在數據可用時閱讀並避免阻塞。 讓圖書館解決這個問題,扭曲是一個明顯的選擇。「#: – therealtypon 2011-05-19 17:19:39
如果你找到另一個答案,像http://stackoverflow.com/questions/4585692/python-nonblocking-subprocess-check-stdout/4585898#4585898,請鏈接而不是在你自己的問題上重複評論的答案。 – phooji 2011-05-19 17:23:06
對不起。我認爲評論中的觀點是stackoverflow.com/questions/4585692/... 的蒸餾本質下次我會記住這一點 – therealtypon 2011-05-20 20:51:33