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 24 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
pygame实现五子棋游戏
Oct 29 Python
python实现简单的购物程序代码实例
Mar 03 Python
Python无损压缩图片的示例代码
Aug 06 Python
Python3如何在服务器打印资产信息
Aug 27 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
python实现代码审查自动回复消息
Feb 01 Python
Python if else条件语句形式详解
Mar 24 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
ftp类(example.php)
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
PHP实现微信对账单处理
2018/10/01 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
python追加元素到列表的方法
2015/07/28 Python
python实现排序算法解析
2018/09/08 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
python 读取二进制 显示图片案例
2020/04/24 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
2014年度个人工作总结
2014/11/07 职场文书
预备党员个人总结
2015/02/14 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
召开会议通知范文
2015/04/15 职场文书
医院员工辞职信范文
2015/05/12 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js
Golang实现可重入锁的示例代码
2022/05/25 Golang
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python