2014-03-19 95 views
0

我正在將兩個不同進程整合到一個進程中,但我需要將每個進程的標準輸出分別打印到兩個不同的文件中。 (可能是tkinter gui)。標準輸出到Python中的文件

說process1爲file1,process2爲file2。有什麼建議麼?

+0

請提供你有什麼更多信息?這兩個進程是否已經運行?或者你的腳本將運行這兩個過程? – deimus

+1

究竟是什麼「tkinter文件」? – mgilson

+0

@deimus:我的腳本將同時運行這兩個過程。 – rajpython

回答

2

Python的子進程將做到這一點就好了...

with open('process1.stdout', 'wb') as f1: 
    p1 = subprocess.Popen(['process1'], stdout=f1) 
with open('process2.stdout', 'wb') as f2: 
    p2 = subprocess.Popen(['process2'], stdout=f2) 
+0

您可以在相應的「Popen」調用之後立即關閉文件。 – jfs

+0

@ J.F.Sebastian - 可以嗎?該進程是異步執行的,那麼如果在文件句柄關閉後進程寫入更多數據會發生什麼? (我從來沒有嘗試過)。當然,如果你是對的,那麼我應該使用上下文管理器來代替... – mgilson

+0

子進程中的文件描述符並不是你關心的問題,但沒有必要在* parent * – jfs

相關問題