首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docopt不打印参数

docopt不打印参数
EN

Stack Overflow用户
提问于 2020-04-28 11:52:27
回答 1查看 98关注 0票数 0

我正在努力学习如何使用docopt。

下面是我的文件docopt_test.py。理想情况下,我应该在运行此操作后打印出传递的参数,但我只获得输出,即打印使用情况注释。

有人能告诉我我做错了什么吗?

谢谢。

代码语言:javascript
复制
$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
代码语言:javascript
复制
#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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 19:15:29

我想我早知道出了什么问题。

我在分配参数时放置了options_first=True,但最后传递的是可选的参数。这就是docopt不能解析我的输入的原因。

所以要解决这个问题,

我不得不从参数中移除options_first=True

代码语言:javascript
复制
arguments = docopt(__doc__,argv=None,help=True,version=None)

或者更改用法注释并以正确的顺序提供我的输入。

代码语言:javascript
复制
"""
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 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61479560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档