ホームページ > バックエンド開発 > Python チュートリアル > Python でコマンド出力をサイレントにキャプチャするにはどうすればよいですか?

Python でコマンド出力をサイレントにキャプチャするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-05 16:30:11
オリジナル
776 人が閲覧しました

How Can I Silently Capture Command Output in Python?

Python を使用してコマンド出力をサイレントにキャプチャする

os.system でコマンドを実行するときに、Python を使用せずに出力をキャプチャしたい状況が発生することがあります。それを画面に表示します。その方法は次のとおりです。

Python では、os.system 関数はコマンドを実行し、その終了ステータスを返します。ただし、コマンドの出力もコンソールに出力されます。出力をサイレントにキャプチャするには、代わりに subprocess モジュールを使用します。

os.popen の使用

os.popen 関数を使用して、コマンドを実行し、その出力をキャプチャできます。出力の読み取りに使用できるパイプ オブジェクトを返します。例:

output = os.popen('cat /etc/services').read()
print(output)
ログイン後にコピー

サブプロセスの使用

サブプロセス モジュールは、サブプロセスを管理し、サブプロセスと対話するためのより強力な方法を提供します。サブプロセスを使用してコマンド出力をサイレントにキャプチャする方法は次のとおりです。

import subprocess

proc = subprocess.Popen([
    'cat', '/etc/services'
], stdout=subprocess.PIPE, shell=True)

(output, err) = proc.communicate()
print('program output:', output)
ログイン後にコピー

このアプローチにより、入力、出力、エラー処理など、サブプロセス実行のさまざまな側面を制御できます。 communication メソッドは、サブプロセスが完了するのを待ち、標準出力ストリームと標準エラー ストリームを含むタプルを返します。

以上がPython でコマンド出力をサイレントにキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート