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随机生成指定长度密码的方法
Apr 04 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
Python中的__slots__示例详解
Jul 06 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
python在文本开头插入一行的实例
May 02 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
关于python多重赋值的小问题
Apr 17 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 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 session应用实例 登录验证
2009/03/16 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
js常用函数 不错
2006/09/08 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
Python读取mp3中ID3信息的方法
2015/03/05 Python
python创建临时文件夹的方法
2015/07/06 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
快速了解python leveldb
2018/01/18 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
大学生心理健康活动总结
2015/05/08 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书