为什么Python docopt在这里说“ -c需要参数”?

时间:2018-11-29 01:59:40

标签: python windows docopt

在简单情况下,Python docopt可以正常工作,但是在这种情况下,尽管带有参数,它仍会说-c requires argument

最小代码(Python 3.6):

'''Usage:
test_docopt.py x YYY ZZZ [-a AAA] [-b BBB] [-c CCC]

Options:
   -a AAA  description
   -b BBB  description
   -c CCC  description'''

from docopt import docopt

print(docopt(__doc__))

结果:

C:\>python3 test_docopt.py x foo bar -a alpha -b bravo -c charlie
-c requires argument
Usage:
    test_docopt.py x YYY ZZZ [-a AAA] [-b BBB] [-c CCC]

C:\>

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

无法在Linux中复制:

$ python3 test_docopt.py x foo bar -a alpha -b bravo -c charlie
{'-a': 'alpha',
 '-b': 'bravo',
 '-c': 'charlie',
 'YYY': 'foo',
 'ZZZ': 'bar',
 'x': True}

无论哪种方式,我都建议使用python的标准argparse