次のコードは1秒から10秒の間に1秒間隔で印刷されますが、実際に何かを印刷する前に10秒待ってからすべて印刷しますすぐに。どうすれば出力をバッファリングできますか?Python sys.stdout.flush()は機能しません
import sys
import time
for count in range(10) :
sys.stdout.write(str(count))
sys.stdout.flush()
time.sleep(1)
次のコードは1秒から10秒の間に1秒間隔で印刷されますが、実際に何かを印刷する前に10秒待ってからすべて印刷しますすぐに。どうすれば出力をバッファリングできますか?Python sys.stdout.flush()は機能しません
import sys
import time
for count in range(10) :
sys.stdout.write(str(count))
sys.stdout.flush()
time.sleep(1)
Python 2.7,3.2、および3.3では、書き込み呼び出しでキーワード引数を使用できません。それは適切なコードですか?もちろん、print関数はendキーワードを許可し、書き込みと混同してはいけません。 Writeは改行文字を追加しません。
'end'キーワードの引数を削除し、コードが正常に動作することをテストで確認します。 Pythonは、このような奇妙な、なぜ問題
import sys
import time
for count in range(10) :
sys.stdout.write("\b%s" % count)
sys.stdout.flush()
time.sleep(.1)
見つかり
は分からないのですが、どうやらそれはこれを受け入れました。あなたのコードは正常に動作しているはずですが、私はPythonがあなたを気に入らなかったと思います。
私はpython 3.3 btwを使用していますので、他のバージョンでは異なるかもしれません。より多くの研究を行い、print "end =" \ r ""の引数がバッファをクリアするので、sysをインポートする必要はなく、印刷したものをループすると、単に印刷したものが置き換えられます。 これは、出力が本当にクールな外観を与える – Alexander
お返事ありがとうございました...間違いでした...終わりがなくても、すべてのコードを一度に印刷する前にコードが一時停止しています – user1724351
私は完全に完全に問題を再現できません。他の人をテストすることで特定のpythonバージョンに絞ることができますか?どのようなOSですか? – whardier
Mac OSX(Python 3.2.3)。それは単にunbufferをしません – user1724351