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 (2)
Oct 31 Python
python判断端口是否打开的实现代码
Feb 10 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
Python使用shelve模块实现简单数据存储的方法
May 20 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
在Python中增加和插入元素的示例
Nov 01 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
Python数据可视化实现漏斗图过程图解
Jul 20 Python
Python面向对象多态实现原理及代码实例
Sep 16 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 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
php根据年月获取季度的方法
2014/03/31 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
Python实现拼接多张图片的方法
2014/12/01 Python
详解python的数字类型变量与其方法
2016/11/20 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Python如何将字符串转换为日期
2020/07/31 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
信息管理应届生求职信
2014/03/07 职场文书
入党积极分子评语
2014/05/04 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记