我正在努力学习如何使用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)发布于 2020-04-28 19:15:29
我想我早知道出了什么问题。
我在分配参数时放置了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 https://stackoverflow.com/questions/61479560
复制相似问题