Python: 02. argparse - ikymrkw/pydepot GitHub Wiki
See also: https://docs.python.org/ja/3/library/argparse.html
基本的な使い方
import argparse
parser = argparse.ArgumentParser(
prog='ProgramName',
description='What the program does',
epilog='Text at the bottom of help')
parser.add_argument('filename') # positional argument
parser.add_argument('-c', '--count') # option that takes a value
parser.add_argument('-v', '--verbose', action='store_true') # on/off flag without a value
args = parser.parse_args()
print(args.filename, args.count, args.verbose)
引数に与えられる様々なオプション(組合せも可能):
parser.add_argument('-a', choices=['md5', 'sha1']) # or range or Container
parser.add_argument('-u', default='anonymous') # None if not specified
parser.add_argument('-x', required=True)
parser.add_argument('--age', type=int) # typeの引数は型ではなく関数なのに注意
parser.add_argument('-n', help='Number of trials')
複数回同じ引数を受け取り、自動的に処理する(列挙、連結、可算など)方法も提供されている。
必須の引数(positional か required)が与えられなかった場合、
parser_parse_args() の時点でヘルプを表示して exit(1) (?) するらしい。