ホームページ >バックエンド開発 >Python チュートリアル >バッファ出力により Python での即時印刷が妨げられるのはなぜですか?

バッファ出力により Python での即時印刷が妨げられるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-10 15:45:03834ブラウズ

Why Does Buffered Output Prevent Immediate Printing in Python?

バッファリングされた出力が Python でのインライン印刷を妨げる理由

問題

Python は通常、効率を高めるために出力をバッファリングします。ただし、これにより、改行が追加されていない場合、print ステートメントがすぐに表示されなくなります。出力は保留され、改行が見つかった場合にのみ解放されます。

問題の解決

単一印刷:

  • Python 3.x では、print で flash=True 引数を使用します。

    for _ in range(10):
        print('.', end=' ', flush=True)
  • Python 2.x では、標準出力ストリームを手動でフラッシュします。

    for _ in range(10):
        print '.'
        sys.stdout.flush()

複数の印刷:

  • リンクされた質問で説明されている方法を使用して、出力行バッファリングを完全に無効にします。

以上がバッファ出力により Python での即時印刷が妨げられるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。