satopoooonのブログ

自分向けの備忘録

pythonでコマンドライン引数をjson形式で管理する(ArgumentParserを利用)

pythonコマンドライン引数をjson形式で管理する

コマンドラインからのPython実行時に、引き数が大量にあると不便ですよね。
引数のパラメーターを、json形式で別ファイルで保存できたら楽そうです。
上記はArgumentParser (argparse)を使うと実現できます。

#run.pyというファイルに以下が書いてあるとする
import argparse
#引き数が書いているjsonファイルは「./configs/default.json」
parser = argparse.ArgumentParser()
parser.add_argument('--config', default='./configs/default.json')
options = parser.parse_args()
config = json.load(open(options.config))

上記ファイルを実行します。
コマンドラインで引数を特に指定しなくても、
jsonファイルに記載されたものが引き数として渡されます。

python run.py

add_argumentの第一引数'--config'にすることで, option.configで実装されます。 第2引数default でデフォルトの引数が指定されます。
コマンドライン上で引き数を指定しなくてもOKということ