更简单的命令行参数解析

argv的Python项目详细描述


更简单的命令行参数解析

本着 `optimist<;https://github.com/substack/node-optimist>;``少 魔术,更灵活。

pi install argv

快速启动

手动指定参数,无配置:

import argv
argv.parse(['-i', 'input.txt', '-z', '--verbose'])
>>> {'i': 'input.txt', 'verbose': True, 'z': True}

如果没有参数列表,则使用sys.argv(不带可执行文件名) 给出:

import sys
sys.argv
>>> ['/usr/local/bin/bottler', 'exec', 'prog.py', '--debug']
argv.parse()
>>> {'_': ['exec', 'prog.py'], 'debug': True}

配置:

parser = argv.Parser()
parser.add('action')
parser.add('target')
parser.add('-d', '--debug')
parser.parse(['exec', 'prog.py', '--debug'])
>>> {'action': 'exec', 'd': True, 'debug': True, 'target': 'prog.py'}

测试

持续集成:

Travis CI Build Status

或在本地运行测试:

python setup.py test

开发

术语:

  • flag:用双破折号或每个标记的命令行参数 由一个短划线表示的组的组成部分例如,
    • --verbose--logfile logs/app.txt有两个标志:verboselogfile
    • -czf archive.tgz app/有三个标志:cz,和 f
  • token:用空格分隔的命令行项。例如,
    • `–输入=–日志文件日志/app.txt

许可证

版权所有(c)2013克里斯托弗·布朗。MIT Licensed

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序