Pythonの引数解析にdocopt
を使おうと思ったのですが、思うように取得できません。
from docopt import docopt
__doc__ = """{f}
Usage:
{f} [[-w | --word-list] <word_list>...] [[-d | --data-list] <data_list>...]
""".format(f=__file__)
def main():
args = docopt(__doc__)
print(args)
if __name__ == '__main__':
main()
これを実行すると、期待通りにはデータが入ってくれません。
$ python option_test.py --word-list word1 word2 --data-list data1 data2
{'--data-list': True,
'--word-list': True,
'-d': False,
'-w': False,
'<data_list>': [],
'<word_list>': ['word1', 'word2', 'data1', 'data2']}
期待する動きとしてはdata_list
にはdata
が、word_list
にはword
が入って欲しいのですが・・・
こうなって欲しい
$ python option_test.py --word-list word1 word2 --data-list data1 data2
{'--data-list': True,
'--word-list': True,
'-d': False,
'-w': False,
'<data_list>': ['data1', 'data2'],
'<word_list>': ['word1', 'word2']}
上記のようなオプション指定はそもそも不可能なのでしょうか。