Python システムコマンドを実行する 4 つの方法

王林
リリース: 2024-07-16 02:46:32
オリジナル
529 人が閲覧しました

Python でシステムコマンドを実行するには、いくつかの一般的な方法があります

注: 次のサンプルコードは Python3.5 で実行されます。

Python システムコマンドを実行する 4 つの方法

1. os.システムメソッド

os.システム(cmd)

サブターミナルでシステムコマンドを実行して、コマンド実行後の戻り情報と実行によって返されるステータスを取得します

リーリー

実行後、2行の結果が返されます。1行目は結果、2行目は実行ステータス情報です。

2. os.popenメソッド
os.popen(cmd)

コマンドを実行するだけでなく、実行後に情報オブジェクトも返します(コマンド実行後の戻り情報を取得するためによく使用されます)。結果はパイプラインファイルを通じて返されます

。 リーリー

3. コマンドモジュール
方法の説明

getoutput コマンド実行後の戻り情報を取得します

getstatus は、実行されたコマンドのステータス値を取得します (コマンドが正常に実行された場合は 0 の値が返され、それ以外の場合は 0 以外の値が返されます)

getstatusoutput 実行したコマンドのステータス値と戻り情報を取得します

リーリー

注 1: Unix 系システムでこのメソッドを使用すると返される戻り値 (ステータス) は、スクリプトまたはコマンドが実行された後の戻り値と同じではありません。これは、os.wait() が呼び出されるからです。その理由については、システム wait() の実装について説明する必要があります。正しい戻り値 (ステータス) が必要な場合は、戻り値を 8 ビット右シフトするだけで済みます。

注2: 実行コマンドのパラメータやリターンに漢字が含まれる場合は、サブプロセスの使用を推奨します。

4. サブプロセスモジュール
スレッドの制御と監視を使用し、返された結果を変数に代入してプログラムの処理を容易にします。設定可能なパラメータが豊富で、カスタマイズのためのオプションが豊富で、高い柔軟性があります。以前に os.system を使用したときに、ファイル記述子が子プロセスに継承されるという問題に遭遇しました。その後、close_fds = False パラメーターを使用して解決しました。公式ドキュメント: http://python.usyiyi.cn/python_278/library/subprocess.html

リーリー

以上がPython システムコマンドを実行する 4 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:linuxprobe.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!