[Docpie]

Fork me on GitHub

docpie - python命令行接口解析模块

简洁且Pythonic的方式为你的python程序创建POSIX标准命令行接口

开始使用 在线测试

简单几步完成定义命令行接口

你是如何定义命令行接口的?自己写一个解析器或者花几个小时学习optparse/argparse,然后每次程序升级都帮助信息和代码两头忙?

天!别折腾自己了!你完全可以这么来:

#  cp.py
"""
My copy script

Usage:
  cp.py [options] <source_file> <target_file>
  cp.py [options] <source_file>... <target_directory> <log_file>

Options:
  -h -? --help    print this screen
  --version       print the version of this script
  -v --verbose    print more information while  running
"""

from docpie import docpie
args = docpie(__doc__)
print(args)

来运行试试:

$ python cp.py a.txt b.txt c.txt /tmp cp.log
{'--': False,
 '--help': False,
 '--verbose': False,
 '--version': False,
 '-?': False,
 '-h': False,
 '-v': False,
 '<log_file>': 'cp.log',
 '<source_file>': ['a.txt', 'b.txt', 'c.txt'],
 '<target_directory>': '/tmp',
 '<target_file>': None}

就这么简单!写一份__doc__,传入函数,完成!在线试试>>


如何安装

  1. 安装发布版:
    pip install docpie
  2. 安装开发版:
    pip install git+git://github.com/TylerTemp/docpie.git

简单明了,无一多余

所见即所得

只需遵循简单几个规则,一切都如你自然语言所表达的意思执行。当你简单写完说明文档时,命令行接口已经定义完成。

可用性

默认值、计数、排他分组、可选必选……这些高级功能都以符合人们直觉的方式定义并展示。

自定义性

不但能自动处理--help等参数,还提供满足你日常所需的API,帮助你构建复杂的命令行接口。

不重复自己

只需要两行代码即可完成。即使在日后的升级中,也只需要修改文档,即可平滑升级你的命令行接口。


基于MIT协议

基于 MIT自由开源协议 发布,不管是个人项目、团队项目还是开源项目、闭源项目,都可以轻松使用

获取 源代码

来开始吧!


如果你喜欢这个项目,可以买我一杯啤酒,让我做的更好! | Flattr this