ホームページ >バックエンド開発 >Python チュートリアル >Python の「os.system」からのコマンド出力を画面に表示せずにキャプチャする方法は?

Python の「os.system」からのコマンド出力を画面に表示せずにキャプチャする方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 17:21:10360ブラウズ

How to Capture Command Output from `os.system` in Python Without Displaying it on the Screen?

画面表示なしで os.system からコマンド出力をキャプチャする方法

os.system を使用してコマンドを実行する場合、通常、出力は画面に表示されます。ただし、コマンドの出力をキャプチャして、さらに処理するために変数に保存したい場合があります。

これに対処するには、代わりに os.popen を利用できます。

output = os.popen('cat /etc/services').read()

で説明されているように、 Python 3.6 ドキュメント:

「これは subprocess.Popen を使用して実装されています。管理および通信するためのより強力な方法については、そのクラスのドキュメントを参照してください」 subprocesses."

サブプロセスをより詳細に制御するには、サブプロセスを直接使用することを検討してください:

import subprocess

proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print("program output:", out)

以上がPython の「os.system」からのコマンド出力を画面に表示せずにキャプチャする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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