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

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

Linda Hamilton
リリース: 2024-11-29 17:21:10
オリジナル
359 人が閲覧しました

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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート