ホームページ >バックエンド開発 >Python チュートリアル >Python で subprocess.Popen 呼び出しの出力を文字列としてキャプチャして保存するにはどうすればよいですか?

Python で subprocess.Popen 呼び出しの出力を文字列としてキャプチャして保存するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-04 19:07:14337ブラウズ

How Can I Capture and Store the Output of a subprocess.Popen Call as a String in Python?

subprocess.Popen 呼び出しの出力を文字列に保存する

Python プログラミングでは、subprocess モジュールを使用してシステム コールを実行し、キャプチャすることができます。彼らのアウトプット。この記事では、subprocess.Popen 呼び出しの出力を文字列変数に保存するためのソリューションを提供します。

Python 2.7 または Python 3 のソリューション

Python は subprocess.check_output を提供します() 関数。コマンドの出力を文字列に取り込むために特別に設計されています。単純に次のように使用します:

from subprocess import check_output
out = check_output(["ntpq", "-p"])

Python 2.4-2.6 のソリューション

Python バージョン 2.4 から 2.6 の場合、Popen の通信メソッドを利用できます。

import subprocess
p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
out, err = p.communicate()

上記のコードの out 変数には、必要なOutput.

コマンド入力に関する注意

Popen を利用する場合、提供されている例に示すように、コマンドを文字列のリストとして渡すことが重要です。これは、Popen がシェルを呼び出さないためです。

以上がPython で subprocess.Popen 呼び出しの出力を文字列としてキャプチャして保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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