docopt 不打印参数

docopt not printing arguments

我正在尝试学习如何使用 docopt。

下面是我的文件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)

我想我早些时候发现了问题所在。

我在分配参数时输入了 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