システムコマンドをPythonで実行する方法
Pythonでシステムコマンドを実行する場合、最も推奨されるのはsubprocessモジュールを使う方法です。subprocess.run()は、シンプルかつ安全に外部コマンドを実行でき、標準出力やエラーの取得、ステータスコードの確認が可能です。
基本的な使用方法
import subprocess
subprocess.run(["ls", "-l"])
このコードは、ターミナルでls -lコマンドを実行し、ディレクトリの内容をリスト表示します。
他の方法
古いPythonバージョンではsubprocess.call()やos.system()も使えますが、これらは制御が少ないため、subprocess.run()が推奨されます。Popenは非同期プロセスを扱う際に便利ですが、より高度な使用法が必要になります。
subprocess.run()の利点
- 標準出力やエラー出力のキャプチャが可能
- より安全なエラーハンドリング
- コマンドの終了コードを簡単に取得できる これにより、より堅牢で柔軟なコマンド実行が可能になります。