Python 3 での Bash コマンドの実行

PYTHON3 チュートリアル

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 公式ドキュメントやサンプルコードを参照してください。

購読
通知
0 Comments
Inline Feedbacks
View all comments