Python のデフォルトの動作は出力をバッファリングすることです。つまり、テキストを端末に送信する前に一時スペースに保存します。これは、必要なシステム コールの数を減らしてパフォーマンスを向上させるために行われます。
文字列の末尾に改行 (n) が含まれていない場合print ステートメントまたは関数呼び出しの場合、テキストはバッファーに保持されます。改行が発生した場合、またはバッファがいっぱいになった場合にのみ、テキストがフラッシュされてターミナルに表示されます。
Python 2.x では、print ステートメントにはフラッシュ引数がありません。改行を追加せずにバッファをフラッシュするには、次の方法を使用できます:
import sys for i in range(10): print '.', sys.stdout.flush()
Python 3.x では、print 関数にはフラッシュ キーワード引数が含まれています:
for i in range(10): print('.', end=' ', flush=True)
< ;h3>行バッファリングの無効化
改行の存在に関係なく即時印刷が必要なシナリオでは、行バッファリングを完全に無効にすることができます。これは、
バッファリングを無効にすると、改行や明示的なフラッシュを必要とせずに、すべての print 呼び出しがターミナルに即座に表示されます。
以上が改行を入れないと印刷出力がターミナルにすぐに表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。