首页 文章

docopt位置参数不起作用

提问于
浏览
2

当关注docopt README时,我希望以下文件产生一些有效的输出:

#!/usr/bin/env python
"""Example file.

Usage:

  test_docopt.py test
  test_docopt.py (-h | --help)
  test_docopt.py --version

Options:
  -h --help                       Show this screen
  --version                       Show version.

"""

import pkg_resources
pkg_resources.require("docopt==0.6.1")
from docopt import docopt

if __name__ == '__main__':
    args = docopt(__doc__, version="Extend limb profiles 0.1")
    print(args)

但是,当我调用 test_docopt.py 时,我只得到一个无意义/空的Usage语句:

$ python test_docopt.py test
Usage:

我的两个问题是:

  • 为什么docopt显然无法识别测试命令?

  • 为什么使用模式没有填充实际使用模式?

1 回答

  • 2

    您需要删除 Usage: 和用法本身之间的空行 . 来自README.rst

    Usage pattern是doc的子字符串,以usage开头:(不区分大小写),以明显空行结束 .

    通过在 Usage: 之后放置一个空行,您可以在那里结束使用模式 .

相关问题