非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

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
 

 

スポンサーリンク

 - Python