Python命令行参数解析模块getopt使用实例


Posted in Python onApril 13, 2015

格式

getopt(args, options[, long_options])

1.args表示要解析的参数.
2.options表示脚本要识别的字符.字符之间用”:”分隔,而且必须要以”:”后结尾,例如”a:b:c:”.
3.long_options是可选的,如果指定的话,可以解析长选项.形式为字符串列表,如[‘foo=', ‘frob='].长选项要求形式为”?name=value”
4.该方法返回2个元素.第一个元素是列表对, 对中第一个值是带有”-“或者”?”的选项名,第二个值是选项的值.第二个元素是options减去第一个元素的后的值,即不能识别的值.

如果要求只能解析长选项的话,options必须为空.只要指定了参数名,就必须传入参数,不支持可有可无的参数.

短选项实例

import getopt
short_args = '-a 123 -b boy -c foo -d 2.3 unkown'.split()

print short_args
optlist, args = getopt.getopt(short_args, 'a:b:c:d:')

print optlist

print args

输出
['-a', '123', '-b', 'boy', '-c', 'foo', '-d', '2.3', 'unkown']

[('-a', '123'), ('-b', 'boy'), ('-c', 'foo'), ('-d', '2.3')]

['unkown']

长选项实例
import getopt
long_args = '--a=123 --b unkown'.split()

optlist, args = getopt.getopt(long_args, '', ['a=', 'b'])

print optlist

print args

输出
[('--a', '123'), ('--b', '')]

['unkown']

长短选项结合实例
import getopt
s = '--condition=foo --testing --output-file abc.def -x a1 unknown'

args = s.split()

optlist, args = getopt.getopt(args, 'x:', ['condition=', 'output-file=', 'testing'])

print optlist

print args

输出
[('--condition', 'foo'), ('--testing', ''), ('--output-file', 'abc.def'), ('-x', 'a1')]

['unknown']
Python 相关文章推荐
简单介绍Python中的floor()方法
May 15 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 Python
浅谈Python处理PDF的方法
Nov 10 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
详解python中的Turtle函数库
Nov 19 Python
Django 表单模型选择框如何使用分组
May 16 Python
python多进程读图提取特征存npy
May 21 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
Python几种酷炫的进度条的方式
Apr 11 Python
Python绘制散乱的点构成的图的方法
Apr 21 Python
Python中文件操作简明介绍
Apr 13 #Python
Python单元测试框架unittest简明使用实例
Apr 13 #Python
进一步了解Python中的XML 工具
Apr 13 #Python
Python中的模块和包概念介绍
Apr 13 #Python
Python多线程编程简单介绍
Apr 13 #Python
Python中的面向对象编程详解(下)
Apr 13 #Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 #Python
You might like
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python群发邮件实例代码
2014/01/03 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
Java中实现多态的机制
2015/08/09 面试题
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
生日寿宴答谢词
2014/01/19 职场文书
读书活动总结
2014/04/28 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
银行自荐信范文
2015/03/25 职场文书
归途列车观后感
2015/06/17 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python