ホームページ > バックエンド開発 > Python チュートリアル > Python の「サブプロセス」を使用してリアルタイムのプログラム出力を表示するにはどうすればよいですか?

Python の「サブプロセス」を使用してリアルタイムのプログラム出力を表示するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-15 09:55:02
オリジナル
940 人が閲覧しました

How to Display Real-time Program Output with Python's `subprocess`?

サブプロセスを使用したリアルタイム プログラム出力へのアクセス

質問:

どうすれば取得できますかPythonのサブプロセスを使用したリアルタイムプログラム出力?具体的には、出力をバッファリングせずにコマンドライン プログラムの進行状況を表示するにはどうすればよいですか?

答え:

で実行されたプログラムからリアルタイム出力を取得するにはサブプロセスでは、次の手法を使用できます:

説明:

  • Popen で bufsize を 0 に設定して、出力バッファリングを無効にします。
  • while ループでは、readline() を使用して p.stdout から行を継続的に読み取ります。
  • 使用可能な行がない場合、ループは中断され、プログラムは終了します。
  • 処理できます。または、受信した各行を表示して、リアルタイム出力を提供します。

注:

  • このメソッドは、すべてのシステムで機能するとは限りません。すべてのプログラムで使用できます。
  • Python 3.8 以降の場合は、サブプロセス出力の処理に生のファイル記述子の代わりに asyncio を使用することを検討してください。

以上がPython の「サブプロセス」を使用してリアルタイムのプログラム出力を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート