pythonの引数ライブラリargparse
argparseのサンプルコード。-から始まる名前にしてOptional引数にして、
action="store_true"をつけておけば、フラグとして利用できそう。
プログラム
import argparse if __name__ == "__main__": parser = argparse.ArgumentParser() # 必須引数(=位置引数)を追加 # type=intがない場合は文字列 parser.add_argument( "square", help="display a square of a given number", type=int) parser.add_argument( "base", help="display a square of a given number", type=int) # Optional引数 # 引数に -v があれば、args.verbosityはTrueになる parser.add_argument("-v", "--verbosity", help="increase output verbosity", action="store_true") # Optional引数 # とれる値の指定のある引数 parser.add_argument("-c", "--choices", type=int, choices=[0, 1, 2], help="increase output verbosity") args = parser.parse_args() # 引数の参照方法/値確認 print(args.square**2) print(args.base) if args.verbosity: print("verbosity turned on ", args.verbosity) else: print("verbosity turned off ", args.verbosity) print("choices:", args.choices)
-h の結果
(base) c:\dev>python a00_main.py -h usage: a00_main.py [-h] [-v] [-c {0,1,2}] square base positional arguments: square display a square of a given number base display a square of a given number optional arguments: -h, --help show this help message and exit -v, --verbosity increase output verbosity -c {0,1,2}, --choices {0,1,2} increase output verbosity
実行結果
(base) c:\dev>python a00_main.py -v -c 2 5 6 25 6 verbosity turned on True choices: 2