このコードを実行すると:
for x in range(10):
time.sleep(1)
print("a")
それはまさにそれがすべきことをします。しかし、これを実行すると:
for x in range(10):
time.sleep(1)
print("a", end="")
10 秒間待機してから 10 を出力しa
ます。
どうすればこれを防ぐことができますか?
このコードを実行すると:
for x in range(10):
time.sleep(1)
print("a")
それはまさにそれがすべきことをします。しかし、これを実行すると:
for x in range(10):
time.sleep(1)
print("a", end="")
10 秒間待機してから 10 を出力しa
ます。
どうすればこれを防ぐことができますか?
印刷後に stdout をフラッシュします。
import time
import sys
for x in range(10):
time.sleep(1)
print("a", end="")
sys.stdout.flush()
Python 3.3の print関数にはオプションのflush
パラメーターがあります。Python 3.3 以降では次のように記述できます。
import time
for x in range(10):
time.sleep(1)
print("a", end="", flush=True)