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中反射用法实例
Mar 27 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
python之PyMongo使用总结
May 26 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
python 实现rolling和apply函数的向下取值操作
Jun 08 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
python语言实现贪吃蛇游戏
Nov 13 Python
Django一小时写出账号密码管理系统
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
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
Java中final关键字详解
2015/08/10 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python如何获取服务器硬件信息
2017/05/11 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python实现最常见加密方式详解
2019/07/13 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
Python2与Python3的区别点整理
2019/12/12 Python
python烟花效果的代码实例
2020/02/25 Python
python实现超级玛丽游戏
2020/03/18 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
城管大队整治方案
2014/05/06 职场文书
授权委托书(完整版)
2014/09/10 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
人民调解协议书
2016/03/21 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书