python学习-docopt 命令参数解析器

python docopt模块详解

python docopt模块详解

docopt 本质上是在 Python 中引入了一种针对命令行参数的形式语言,在代码的最开头使用 """ """文档注释的形式写出符合要求的文档,就会自动生成对应的parse

用法:

用法很简单,我们以tickets 为例,你只需要在开头加入下边:

"""Train tickets query command line

Usage: ticket [-dgktz] <from> <to> <date>

Options:
    -h --help     Show this screen.
    -d            动车
    -g            高铁
    -K            快速
    -t            特快
    -z            直达
"""
然后再代码执行中加入下边的:
arguments = docopt(__doc__,version="Tickets 1.0")
print(arguments)

运行结果如下,会生成一个arguments的字典。


详解

前面我们举了一个例子,下面我们来详细介绍一下如何完成一个符合 docopt 要求的注释文档。

Usage

所有出现在 usage: (区分大小写)和一个空行之间的文本都会被识别为一个命令组合, usage 后的第一个字母将会被识别为这个程序的名字,所有命令组合的每一个部分(空格分隔)都会成为字典中的一个key。

参数

形如 <argument> 或者 ARGUMENT 的文本将会被识别为参数。

在转化后的字典中的取值为 True 或者 False 。

Usage: my_program <host> <port>
选项

形如 -o 或者 --option 的文本将会被识别为选项。

在转化后的字典中的取值为 True 或者 False 。

Usage: my_program -f <file>

Tips:

  • 短选项可以组合起来,比如 -abc 等价于 -a -b -c
  • 长选项需要的参数需要使用 = 或者空格来分隔, --input=ARG 等价于 --input ARG
  • 短选项可以不需要空格, -f FILE 等价于 -fFILE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值