我有一個腳本,使許多(數十萬)的文件,我想這樣是這樣的:長時間任務之前Python打印不能工作?
from __future__ import print_function
print("Generating...", end = "")
doStuff()
print(" Done")
因爲end = ""
的,我期望Generating...
長期任務之前露面,並在完成後更改爲Generating... Done
。然而,第一print()
不會立即在第二print()
之前顯示,直到doStuff()
完成後,。 doStuff()
之前的time.sleep(1)
不做任何事,儘管它不會是一個永久的解決方案。
工作就像一個魅力,我只是說'sys.stdout.flush()'doStuff前'()'。看起來像Python是語言的類型不會有這種問題,但完美的作品。 – tkbx
@tkbx:它可能取決於你的平臺(和終端模擬器?)。我必須在Linux下這樣做,但Windows似乎沒有這個問題。 – Blender
我在使用Mac在bash默認的模擬器,還沒有測試任何其他操作系統,但(但我將使用這個Linux上的主要) – tkbx