私のpythonコードでは:
print "Hello"
time.sleep(20)
print "world"
次の出力を期待しています
Hello
そして20秒後
world
しかしHello
、world
コンソールで同時に印刷しています。
私のpythonコードでは:
print "Hello"
time.sleep(20)
print "world"
次の出力を期待しています
Hello
そして20秒後
world
しかしHello
、world
コンソールで同時に印刷しています。
print
operatorsys.stdout
は、バッファリングされる出力に stream を効果的に使用します。リアルタイム出力にsys.stderr
は、バッファリングされていないストリームを使用する必要があります。
import sys, time
sys.stderr.write("Hello ")
time.sleep(20)
sys.stderr.write("world\n")
sys.stdout.flush()
別の方法として、出力を取得するたびに呼び出して手動でストリーム バッファをフラッシュすることもできますが、自分が何をしているのかわからない限り、そのような方法では実行しないことをお勧めします。
詳細については、ウィキペディアに標準ストリーム (stdin、stdout、および stderr) に関する記事があります。
あなたのコードは私のコンピューターで動作します。印刷後に直接stdoutをフラッシュすることができますhello
import sys
sys.stdout.flush()