Почему Python docopt говорит "-c требует аргумента" здесь? - PullRequest
0 голосов
/ 29 ноября 2018

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 голосов
/ 29 ноября 2018

Невозможно воспроизвести в 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 .

...