ホームページ > バックエンド開発 > Python チュートリアル > Python で「subprocess」を使用してコマンドライン プログラムからリアルタイム出力を取得するにはどうすればよいですか?

Python で「subprocess」を使用してコマンドライン プログラムからリアルタイム出力を取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-14 21:17:02
オリジナル
968 人が閲覧しました

How can I Retrieve Realtime Output from a Command-line Program Using `subprocess` in Python?

サブプロセスを使用したリアルタイム出力の取得

サブプロセスを使用してコマンドライン プログラムからリアルタイム出力を取得するには、p. stdout.readline() メソッドを使用できます。このメソッドは、バッファリング動作の点で p.stdout とは異なります。 p.stdout は出力を積極的にバッファリングしますが、p.stdout.readline() は利用可能になると各行を読み取ります。

次の Python コードは、p.stdout.readline():

from subprocess import Popen, PIPE, STDOUT

p = Popen('svnadmin verify /var/svn/repos/config', stdout=PIPE, stderr=STDOUT, shell=True)
while True:
    line = p.stdout.readline()
    if not line:
        break
    print(line.replace('\n', ''))
ログイン後にコピー
このコードは、svnadmin verify コマンドからの出力の各行を読み取り、リアルタイムで出力します。

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

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