使用 Python 實現持久終端輸出
在 Python 中,存在一個問題:如果沒有存在換行符。發生這種情況是由於輸出緩衝,輸出會暫時儲存以提高效能。
發生了什麼事?
預設情況下,終端將輸出分成幾行。如果一行結束時沒有換行符,則輸出將保留在緩衝區中直到完成。因此,當 print 語句後面沒有換行符號時,直到循環或程式終止時才會顯示輸出。
修正問題
For單次列印:
在 Python 3 中, print 函數接受一個flush參數。將其設為 True 會強制立即顯示輸出:
import time for _ in range(10): print('.', end=' ', flush=True) time.sleep(.2) # or other time-consuming work
在 Python 2 中,print 是語句,使用標準輸出流 (sys.stdout) 的刷新方法:
import time for _ in range(10): print '.', sys.stdout.flush() time.sleep(.2) # or other time-consuming work
對於多次列印:
您可以停用輸出,而不是在每次列印後刷新行緩衝可以更有效地處理多個列印。有幾種解決方案:
以上是如何在Python中強制立即終端輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!