実行結果
$ ./argument2.py -h
usage: argument2.py [-h] [-v] -x SEX [-a AGE] [-f [FAMILY [FAMILY ...]]]
[--version]
optional arguments:
-h, --help show this help message and exit
-v verbose
-x SEX, --sex SEX sex(required)
-a AGE, --age AGE age
-f [FAMILY [FAMILY ...]], --family [FAMILY [FAMILY ...]]
family
--version show program's version number and exit
必須オプションが無い場合
$ ./argument2.py
usage: argument.py [-h] [-v] -x SEX [-a AGE] [-f [FAMILY [FAMILY ...]]]
[--version]
argument2.py: error: argument -x/--sex is required
Version
$ ./argument2.py --version
argument2.py 2.0
パラメータを指定する (-v スイッチを指定しないと False)
$ ./argument2.py -x female -a 23 -f taro hana jiro
Namespace(age='23', family=['taro', 'hana', 'jiro'], sex='female', v=False)
パラメータを指定する (-v スイッチを指定すると True)
$ ./argument.py -v -x female -a 23 -f taro hana jiro
Namespace(age='23', family=['taro', 'hana', 'jiro'], sex='female', v=True)
非必須項目を省略すると、未指定の値は None。複数の値付きオプションの場合も空の list になるのではなく None になる
$ ./argument.py -x female
Namespace(age=None, family=None, sex='female', v=False)