【问题标题】:docopt not printing argumentsdocopt 不打印参数
【发布时间】:2020-04-29 03:36:27
【问题描述】:

我正在尝试学习如何使用 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)

【问题讨论】:

    标签: python-3.x docopt


    【解决方案1】:

    我想我早先发现了问题所在。

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

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多