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系列之从文件读取和保存数据
May 23 Python
收集的几个Python小技巧分享
Nov 22 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
Python socket实现简单聊天室
Apr 01 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
对python中的argv和argc使用详解
Dec 15 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 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笔记 字符串处理
2010/10/19 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
python中单下划线_的常见用法总结
2018/07/10 Python
python提取xml里面的链接源码详解
2019/10/15 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
2014年小学图书室工作总结
2014/12/09 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
离婚协议书范文2015
2015/01/26 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
2015年药店工作总结
2015/04/20 职场文书
vue 给数组添加新对象并赋值
2022/04/20 Vue.js