os.system を使用してコマンドを実行すると、通常、出力は画面に表示されます。ただし、出力を変数に割り当て、その出力が画面に表示されないようにしたい場合があります。
提供されたコードは、この問題を示しています。
var = os.system("cat /etc/services") print(var)
コマンドをキャプチャする代わりに出力では、var には 0 が含まれ、コマンドの実行が成功したことを示します。これを解決するには、popen:
var = os.popen('cat /etc/services').read()
Python 3.6 のドキュメントが示唆しているように、subprocess.Popen はサブプロセスを管理するためのより堅牢なソリューションを提供します。
proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True) (out, err) = proc.communicate() print("program output:", out)
subprocess を使用すると、上記のコードに示すように、標準出力とエラー ストリームの両方をキャプチャできます。
以上がPython で os.system の出力を慎重に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。