次のコードは、1 秒間隔で 1 から 10 までを印刷することになっていますが、実際に何かを印刷する前に 10 秒待ってから、すべてを一度に印刷します。出力のバッファリングを解除するにはどうすればよいですか?
import sys
import time
for count in range(10) :
sys.stdout.write(str(count))
sys.stdout.flush()
time.sleep(1)
次のコードは、1 秒間隔で 1 から 10 までを印刷することになっていますが、実際に何かを印刷する前に 10 秒待ってから、すべてを一度に印刷します。出力のバッファリングを解除するにはどうすればよいですか?
import sys
import time
for count in range(10) :
sys.stdout.write(str(count))
sys.stdout.flush()
time.sleep(1)
問題が見つかりました
import sys
import time
for count in range(10) :
sys.stdout.write("\b%s" % count)
sys.stdout.flush()
time.sleep(.1)
なぜpythonがこのように変なのかはわかりませんが、どうやらこれを受け入れたようです。あなたのコードは正常に動作するはずですが、Python があなたを気に入らなかっただけだと思います。
Python 2.7、3.2、および 3.3 では、書き込み呼び出しでキーワード引数を使用できません。それは適切なコードですか?もちろん、print 関数では end キーワードを使用できます。write と混同しないでください。Write は改行文字を追加しません。
「end」キーワード引数を削除してテストすると、コードが正常に機能することが示されます。