Pythonからコマンド引数のあるPythonスクリプトを実行する方法
前回、Pythonから別のPythonスクリプトを実行する方法について紹介しましたが、この方法だとコマンド引数のあるPythonスクリプトを実行することができません。今回はその方法について書きます。
コマンド引数のあるスクリプトは以前紹介したプログラムを使いたいと思います。これを外部のPythonスクリプトから実行させます。
# test.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--lib", metavar="<lib>")
parser.add_argument("--path", metavar="<path>")
args = parser.parse_args()
path = args.path
lib = args.lib
print(path)
print(lib)
# 実行方法
# $ python3 test.py --path /home/test --lib hoge
呼び出す側はこちらです。 Pythonを呼び出すというよりもsubprocessを使ったコマンド実行です。shell=Trueオプションを忘れずに。
import subprocess
subprocess.run('python3 test.py --path /home/test --lib hoge', shell=True)
実行結果はご覧の通り。
/home/test hoge
スポンサーリンク
