ホームページ >バックエンド開発 >Python チュートリアル >Python で os.system の出力を慎重に処理するにはどうすればよいですか?

Python で os.system の出力を慎重に処理するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-28 06:34:13420ブラウズ

How Can I Discreetly Handle the Output of os.system in Python?

os.system の出力を慎重に処理する

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 サイトの他の関連記事を参照してください。

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