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学习笔记 下载
Feb 10 Python
python为tornado添加recaptcha验证码功能
Feb 26 Python
linux中如何使用python3获取ip地址
Jul 15 Python
Django中多种重定向方法使用详解
Jul 17 Python
django的csrf实现过程详解
Jul 26 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
django实现类似触发器的功能
Nov 15 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
python中sklearn的pipeline模块实例详解
May 21 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
基于python实现简单C/S模式代码实例
Sep 14 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 IPV6正则表达式验证代码
2010/02/16 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
js轮播图代码分享
2016/07/14 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
JS实现简易计算器
2020/02/14 Javascript
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Python的logging模块基本用法
2020/12/24 Python
详解Python模块化编程与装饰器
2021/01/16 Python
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
C语言笔试集
2012/07/24 面试题
爱国主义演讲稿
2014/05/07 职场文书
学习演讲稿范文
2014/05/10 职场文书
高效课堂标语
2014/06/26 职场文书
服务员岗位职责
2015/02/03 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
高老头读书笔记
2015/06/30 职场文书
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers