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实现快速多线程ping的方法
Jul 15 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
使用python绘制常用的图表
Aug 27 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
django表单实现下拉框的示例讲解
May 29 Python
python画折线图的程序
Jul 26 Python
Python版名片管理系统
Nov 30 Python
Python3 串口接收与发送16进制数据包的实例
Jun 12 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
python模拟斗地主发牌
Apr 22 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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/11/23 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
详解php用static方法的原因
2018/09/12 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
js正文内容高亮效果的实现方法
2013/06/30 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
node使用request请求的方法
2019/12/20 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
python之Character string(实例讲解)
2017/09/25 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
医院护士求职自荐信格式
2013/09/21 职场文书
医学毕业生自我鉴定
2013/10/30 职场文书
装饰资料员岗位职责
2013/12/30 职场文书
清明节演讲稿
2014/05/27 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript