ホームページ >バックエンド開発 >Python チュートリアル >subprocess.call() から出力を取得するにはどうすればよいですか?

subprocess.call() から出力を取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 03:53:09482ブラウズ

How Can I Retrieve Output from subprocess.call()?

Subprocess.call() を使用したサブプロセスからの出力の取得

subprocess.call() を使用して起動されたサブプロセスから出力を取得するには、次のようにします。サブプロセスモジュールの機能を利用できます。方法は次のとおりです:

Python バージョン 2.7 以降の場合:

subprocess.check_output():

import subprocess

output = subprocess.check_output(["ping", "-c", "1", "8.8.8.8"])

を使用します。このアプローチは標準出力を文字列として返し、出力の取得を効果的に処理します。 task.

2.7 より前の Python バージョンの場合:

シェルを使用して出力をリダイレクトできます:

import subprocess

process = subprocess.Popen(["ping", "-c", "1", "8.8.8.8"], shell=True, stdout=subprocess.PIPE)

# Read the output
output = process.communicate()[0]

追加メモ:

  • この方法は簡単な場合に適しています
  • subprocess.Popen() を使用する場合は、出力を取得するために stdout パラメータが subprocess.PIPE に設定されていることを確認してください。
  • コマンドが Linux 構文を使用している場合は、コマンドに応じて調整してください。 Windows。

詳細と代替アプローチについては、この他の回答で提供されている包括的な説明を参照してください。

以上がsubprocess.call() から出力を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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