Pythonコードからシェルスクリプトを呼び出す方法


モジュールを使用することです。以下に、簡単なコード例を示します。

import subprocess
subprocess.call('./your_script.sh')

上記の例では、subprocess.call()関数を使用して、指定したシェルスクリプト(your_script.sh)を呼び出しています。シェルスクリプトはPythonスクリプトと同じディレクトリに存在している必要があります。また、シェルスクリプトが実行可能であることを確認してください。

もしシェルスクリプトに引数を渡したい場合は、subprocess.call()関数にshell=Trueオプションを指定してコマンドラインを解釈させることができます。以下に例を示します。

import subprocess
subprocess.call('./your_script.sh arg1 arg2', shell=True)

上記の例では、arg1arg2がシェルスクリプトに引数として渡されます。

さらに高度な制御をしたい場合は、subprocessモジュールの他の関数やクラスを使用することもできます。subprocess.run()関数はより柔軟な方法でシェルスクリプトを呼び出すことができます。以下に例を示します。

import subprocess
result = subprocess.run(['./your_script.sh', 'arg1', 'arg2'], capture_output=True, text=True)
print(result.stdout)

上記の例では、subprocess.run()関数を使用してシェルスクリプトを呼び出し、実行結果をresult変数に格納しています。capture_output=Trueオプションを指定すると、シェルスクリプトの標準出力を取得することができます。text=Trueオプションを指定すると、出力結果を文字列として取得できます。