Python

Python パラメータを管理する argparse

シンプルに実行してみる

typeを設定すると型を設定でき、それ以外のものを渡そうとするとエラーになる。defaultに値を設定しておくと、引数が渡されなかったときに使用される。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-c', '--count', default=2, type=int)
parser.add_argument('-u', '--user_name', default='hawk')
args = parser.parse_args()
print(args.count, args.user_name)

上記を保存して、以下のように実行します。

test.py -c 3 # countは3, user_nameはhawk と出力される
test.py --count 42 -u 'Taka' # countは42, user_nameはTaka と出力される

ヘルプ時に引数の説明を入れる

-h でヘルプを出力するときにメッセージを付加できます。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--count', help='help message', type=int)
args = parser.parse_args()
print(args.count)

必須の引数を設定する

-cが設定されていないとエラーになります。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--count', required=True)
args = parser.parse_args()
print(args.count)

引数の値を指定する

-cに-1, 0, 1のいずれかの値のみを設定できるように、他の値を入れるとエラーになる。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--count', type=int, choices=[-1,0,1])
args = parser.parse_args()
print(args.count)