使用--docopt解释命令和位置参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用--docopt解释命令和位置参数相关的知识,希望对你有一定的参考价值。
这是docopt.org的示例:
Naval Fate.
Usage:
naval_fate ship new <name>...
naval_fate ship <name> move <x> <y> [--speed=<kn>]
naval_fate ship shoot <x> <y>
naval_fate mine (set|remove) <x> <y> [--moored|--drifting]
naval_fate -h | --help
naval_fate --version
Options:
-h --help Show this screen.
--version Show version.
--speed=<kn> Speed in knots [default: 10].
--moored Moored (anchored) mine.
--drifting Drifting mine.
我看到选项在Options:
部分可以有很长的解释。例如,很明显naval_fate --version
是Show version
。
但是,有没有办法为命令或位置参数提供扩展的解释?例如,用户如何知道naval_fate ship shoot <x> <y>
的作用?
答案
我带着同样的问题来到这里,我想我已经找到了解决方案。
docopt
文档字符串解析器不是很聪明或严谨,这是一件好事,因为它意味着您可以将各种其他信息放在文档字符串中而不会混淆docopt
。例如,没有什么可以阻止你添加Commands:
或Arguments:
部分到你的docstring
。这是我目前正在处理的项目的文档字符串:
"""Helioplot.
Retrieve and plot heliometer results.
Usage:
helioplot fetch <root_dir_path> --host=<host> --password=<password> [--port=<port>] [--database=<database>] [--username=<username>]
Commands:
fetch <root_dir_path> Fetch and dump data into the directory specified
by <root_dir_path>.
Options:
-h --help Show this screen.
--version Show version.
--host=<host> The address of the computer hosting the database
--port=<port> The port number on which the database can be
accessed.
--database=<database> The name of the database.
--username=<username> A database username.
--password=<password> The database password.
"""
以上是关于使用--docopt解释命令和位置参数的主要内容,如果未能解决你的问题,请参考以下文章
Python 中命令行参数解析工具 docopt 安装和应用