模块应用-docopt

来源:互联网 发布:sql update 多行数据 编辑:程序博客网 时间:2024/05/17 21:07

docopt creates beautiful command-line interfaces
oschina这样介绍这个模块:
Docopt 抛弃optparse和argparse吧,使用docstrings来构建优雅的,可读性强的,并且复杂(如果你需要的话)的命令行界面。Docopt 提供多种语言版本,包括:Java、Python、PHP、C/C++、.NET、D语言、Scala、Go 语言等.

简单试过后,它的主要特点是根据代码中的__doc__帮助信息直观映射到对应需要的变量参数。
比如: 我们的程序执行是这样:
python Demo.py -td abc def
-td是可选的控制开关
var1 var2 是传入的两个参数
则__doc__中这样写

#coding = utf-8"""docoptDemo程序Usage:    docoptDemo [-gdtkz] <from> <to> <date>Options:    -h --help   Show this screen.    -g          高铁    -d          动车    -t          特快    -k          快速    -z          直达Example:    docoptDemo -gdt beijing shanghai 2016-11-12"""from docopt import docoptif __name__ == '__main__':    arguments = docopt(__doc__, version='Naval')    print(arguments)

输出结果为字典

{'-d': True, '-g': False, '-k': False, '-t': True, '-z': False, '<date>': '2016', '<from>': 'xian', '<to>': 'beijing'}

通过字典arguments的不同key可以从中确认输入的各种参数值。

完整的使用及实例可以从github查看。

0 0
原创粉丝点击