こんにちは
Python の docopt(コマンドライン引数処理)1 を試してみました。
下記例で、--oo
、--pp
、 --qq
の記述の違いを試しました。--qq
の場合には結果がリストとして返ってきました(この記述は公式にはお勧めではないような気もします)。のかもしれません)。
$ ./docopt_test.py
{'--help': False,
'--oo': None,
'--pp': None,
'--qq': [],
'X': []}
$
$ ./docopt_test.py -o 0 -p 1 -q 2 3 4
{'--help': False,
'--oo': '0',
'--pp': '1',
'--qq': ['2'],
'X': ['3', '4']}
$
docopt_test.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def argsdocopt(doc):
import docopt, textwrap
return docopt.docopt(textwrap.dedent(doc))
def main():
"""
{f}: Test a docopt library.
usage: {f} [-h] [-o O] [-p <P>|--pp <P>] [-q|--qq <Q>] [X...]
options:
-h, --help show this help message and exit
-o, --oo O parameter O
-p <P>, --pp <P> parameter P
-q, --qq <Q> parameter Q
"""
args = argsdocopt(main.__doc__.format(f=__file__))
print(args)
if __name__ == '__main__':
main()
-
「Pythonのdocopt使い方メモ」も参考にしました。 ↩