Python 3でBashコマンドを実行する方法
Pythonはシステムコマンドを実行するための便利なツールです。Pythonのsubprocess
モジュールを使用すると、Pythonスクリプト内からBashコマンドを実行することができます。
subprocessモジュールを使用した基本的な方法
まずは、subprocess.run()
関数を使用して簡単なBashコマンドを実行してみましょう。
import subprocess result = subprocess.run(["ls", "-l"], stdout=subprocess.PIPE) print(result.stdout.decode())
上記のコードでは、ls -l
コマンドを実行し、その結果を取得して出力しています。
コマンドの出力を取得する方法
実行したBashコマンドの出力を取得するには、subprocess.PIPE
を使用して標準出力をキャプチャします。
import subprocess result = subprocess.run(["df", "-h"], stdout=subprocess.PIPE) print(result.stdout.decode())
上記のコードでは、df -h
コマンドを実行し、ディスク使用状況を取得して出力しています。
エラーチェックを行う方法
実行したBashコマンドのエラーチェックを行うには、check=True
を指定します。
import subprocess try: subprocess.run(["ls", "nonexistentfile.txt"], check=True) except subprocess.CalledProcessError as e: print(f"Command failed with return code {e.returncode}")
上記のコードでは、存在しないファイルを指定してls
コマンドを実行し、エラーチェックを行っています。
Pythonを使用してBashコマンドを実行する方法についての基本的な説明と具体的な例を紹介しました。これらのサンプルコードを参考にして、Pythonスクリプト内でBashコマンドを効果的に利用してください。
Python 3 では、Bash コマンドを実行するために subprocess モジュールを使用します。subprocess モジュールには、Python スクリプトから外部プロセスを作成して制御するための機能が含まれています。
Bash コマンドを実行するには、subprocess モジュールの subprocess.run() 関数を使用します。この関数には、実行したい Bash コマンドを文字列として渡すことができます。例えば、次のようにして Bash の ls コマンドを実行できます。
import subprocess
subprocess.run([“ls”, “-l”])このコードは、ls -l コマンドを実行し、その結果を標準出力に表示します。また、subprocess.run() 関数は、コマンドの実行結果やエラーコードなどの情報を取得することもできます。
Bash コマンドの実行中に入力を渡したり、出力を取得したりする場合は、subprocess モジュールの他の関数やオプションを使用する必要があります。詳細な情報は、Python 公式ドキュメントやサンプルコードを参照してください。