の値を印刷していないが、私が実行してみましたサンプルコードです:Pythonはここでループ
import sys
while True:
print "Hello World"
#sys.stdout.write("Hello World")
#sys.stderr.write("Hello World")
sys.stdout.flush()
Pythonインタプリタから実行したときにこれは、罰金や版画の「Hello World」を実行します。 問題は、次のように実行しようとしたときに、出力をフラッシュしても、printとstdoutでパイプへの書き込みが機能しない場合です。 sys.stderr.write()
のコメントを外すと機能します。
python test.py | tail -n 1
親切にprint文がループ内にあるときにのみ発生することに注意してください。誰も私がなぜこのように動作するのか理解できるように助けることができますか?
おかげ
なぜあなたは驚いていることを示す実行可能コードを提供するのではなく、その問題を説明していますか? – roganjosh