docopt-python式的命令行参数解析器
docopt是python式的命令行参数解析器,它可以帮助您:
定义命令行应用程序的界面
自动为其生成解析器
docopt基于数十年来在帮助消息和手册页中用于描述程序界面的约定。docopt的界面描述就是这样的帮助消息,但是更加正式。这是一个例子:
该示例描述了可执行文件的接口naval_fate,其可与不同的组合被调用的命令(ship,new,move等),选择(-h,--help,--speed=<kn>等)和位置参数(<name>,<x>,<y>)。
该示例使用方括号“ [ ]”,括号,“ ( )”,管道“ |”和省略号“ ...”来描述optional,required,互斥和重复 元素。这些元素一起构成有效的使用模式,每个使用模式均以程序的name开头naval_fate。
在使用模式下,有一个带有说明的选项列表。它们描述了选项是否具有短/长格式(-h,--help),选项是否具有参数(--speed=<kn>)以及该参数是否具有默认值([default: 10])。
一个docopt实现将提取所有这些信息并生成一个命令行参数解析器,并将接口说明的文本作为使用-h或--help选项调用程序时显示的帮助消息。
安装
使用pip或easy_install:
$pip install docopt
另外,您也可以下载docopt的源代码文件,并将docopt.py文件拖放到项目中-它是独立的。
示例
docopt可帮助您轻松创建最漂亮的命令行界面 :
选项解析器是根据上面传递给docopt函数的docstring生成的。 docopt解析用法模式("Usage: ...")和选项说明(以短划线“ -”开头的行),并确保程序调用与用法模式匹配;它基于此解析选项,参数和命令。基本思想是,好的帮助消息中应包含所有必要的信息以构成解析器。
另外,PEP 257建议将帮助消息放入模块文档字符串中。