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关闭windows进程的方法
Apr 18 Python
python分析网页上所有超链接的方法
May 08 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
python使用tornado实现简单爬虫
Jul 28 Python
Python函数中的可变长参数详解
Sep 12 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
python range实例用法分享
Feb 06 Python
如何基于Python实现数字类型转换
Feb 07 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
scrapy处理python爬虫调度详解
Nov 23 Python
python中zip()函数遍历多个列表方法
Feb 18 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 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计算两个文件相对路径的方法
2015/03/14 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
js下获取div中的数据的原理分析
2010/04/07 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
javascript中clone对象详解
2014/12/03 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
json的使用小结
2016/06/08 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
详解Python中的动态属性和特性
2018/04/07 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
中学优秀班主任事迹材料
2014/05/01 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers