докопт не печатать аргументы - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь научиться пользоваться докоптом.

Ниже мой файл docopt_test.py. В идеале я должен напечатать переданные аргументы после того, как я выполню это, но я получаю только вывод, который печатает комментарий об использовании.

Может кто-нибудь любезно указать мне, что я делаю неправильно?

Спасибо.

$python3 docopt_test.py client task environment working MCE.zip

Usage:
    docopt_test.py client task environment [--local_tmp_folder=<td>] [--filenm=<filename>]
    docopt_test.py (-h | --help)
    docopt_test.py --version
#docopt_test.py
"""
Usage:
    docopt_test.py client task environment [--local_tmp_folder=<td>] [--filenm=<filename>]
    docopt_test.py (-h | --help)
    docopt_test.py --version

Options:
  -h --help     Show this screen.
  --version     Show version.
  --entity=<entityname>  specify entity to load
"""
from docopt import docopt

if __name__ == '__main__':
    arguments = docopt(__doc__, argv=None, help=True,
                   version=None, options_first=True)
    print(arguments)

1 Ответ

0 голосов
/ 28 апреля 2020

Полагаю, я узнал, что пошло не так раньше.

Я указал options_first = True при назначении аргументов, но передавал необязательные аргументы с [] в конце. По этой причине docopt не смог проанализировать мои входные данные.

Поэтому, чтобы решить проблему,

Мне пришлось либо удалить options_first = True из аргументов

arguments = docopt(__doc__,argv=None,help=True,version=None)

или измените комментарий об использовании и предоставьте мой ввод в правильном порядке.

"""
Usage:
  docopt_test.py [--local_tmp_folder=<td>] [--filenm=<filename>] client task environment
"""

$python3 docopt_test.py --local_tmp_folder=working --filenm=MCE.zip client task environment 
...