subprocess.Popen 呼び出しの出力を文字列に保存する
Python を使用してシステム コールを実行しようとすると、後で操作するための出力。ただし、subprocess.Popen を単独で使用しても、文字列内の出力をキャプチャする簡単な方法は提供されません。
代替アプローチ
この問題に対処するには、次のオプションを検討してください。 :
Python 2.7 または Python 3
コマンドの実行と出力キャプチャを簡素化する subprocess.check_output() 関数を利用します。
from subprocess import check_output out = check_output(["ntpq", "-p"])
Python 2.4-2.6
Popen の通信メソッドを採用するobject:
import subprocess p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) out, err = p.communicate()
この場合、out には目的の出力が含まれます。
コマンド呼び出しに関する注意
Popen を使用する場合、 command は、コマンドとオプションを含むリストとして指定します (例: ["ntpq", "-p"])。 Popen はコマンドの実行にシェルを利用しないため、これによりコマンドが正しく解釈されることが保証されます。
以上がPython で subprocess.Popen 呼び出しの出力を効率的にキャプチャして保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。