1. ホーム
  2. python

[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?

2022-03-16 10:20:06

質問

Pythonスクリプトから外部コマンド(UnixシェルやWindowsコマンドプロンプトで入力したようなもの)を呼び出すにはどうしたらよいでしょうか?

どのように解決するのですか?

を使用します。 subprocess モジュールが標準ライブラリに含まれています。

import subprocess
subprocess.run(["ls", "-l"])

の利点は subprocess.run オーバー os.system は、より柔軟性があるということです (この方法では stdout , stderr は、その ステータスコード , より良い エラー処理 などなど・・・)。

偶数 のドキュメントでは os.system を使用することを推奨しています。 subprocess の代わりに

その subprocess モジュールは、新しいプロセスを生成し、その結果を取得するための、より強力な機能を提供します; この関数を使うよりも、そのモジュールを使うことが望ましいです。この関数を使うよりも、そのモジュールを使う方が望ましいです。 古い関数をsubprocessモジュールに置き換える のセクションを参照してください。 subprocess のドキュメントに、参考になるレシピがあります。

Python 3.4以前のバージョンでは subprocess.call の代わりに .run :

subprocess.call(["ls", "-l"])