2017-10-12 53 views
-3

因此,我有一個python腳本,我將stdout和stderr重定向到一個文件。我需要定期刷新此文件。什麼是實現這一目標的最佳途徑Pythonic方式刷新()sys.stdout&sys.stderr

sys.stdout = sys.stderr = open('location/log.txt', 'w') 

我們必須在兩個單獨的步驟中完成嗎?

sys.stdout.flush() 
sys.stderr.flush() 

我這樣做是因爲我不斷從這個文件中讀取以檢查更新。

+0

我想你正在尋找的詞是[「** pythonic **」](https://stackoverflow.com/questions/25011078/what-does-pythonic-mean)。 –

回答

2

如果您已將別名sys.stderrsys.stdout設置爲相同的打開文件句柄,則只需刷新它們中的一個;它們是相同的文件對象,因此刷新一個就是刷新「全部」(「全部」是唯一存在的文件對象)。