8

次のコードは、1 秒間隔で 1 から 10 までを印刷することになっていますが、実際に何かを印刷する前に 10 秒待ってから、すべてを一度に印刷します。出力のバッファリングを解除するにはどうすればよいですか?

import sys
import time
for count in range(10) :
   sys.stdout.write(str(count))
   sys.stdout.flush()
   time.sleep(1)
4

2 に答える 2

1

問題が見つかりました

import sys
import time
for count in range(10) :
   sys.stdout.write("\b%s" % count)
   sys.stdout.flush()
   time.sleep(.1)

なぜpythonがこのように変なのかはわかりませんが、どうやらこれを受け入れたようです。あなたのコードは正常に動作するはずですが、Python があなたを気に入らなかっただけだと思います。

于 2014-07-07T20:24:40.903 に答える
0

Python 2.7、3.2、および 3.3 では、書き込み呼び出しでキーワード引数を使用できません。それは適切なコードですか?もちろん、print 関数では end キーワードを使用できます。write と混同しないでください。Write は改行文字を追加しません。

「end」キーワード引数を削除してテストすると、コードが正常に機能することが示されます。

于 2012-10-06T00:43:52.887 に答える