分享

docopt-python式的命令行参数解析器

 CNStudent 2020-12-18

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建议将帮助消息放入模块文档字符串中。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多