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 11 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
python 显示数组全部元素的方法
Apr 19 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
Python 实现两个服务器之间文件的上传方法
Feb 13 Python
Python元组常见操作示例
Feb 19 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
Python实现滑雪小游戏
Sep 25 Python
Python数据可视化之Seaborn的安装及使用
Apr 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 使用GD库为页面增加水印示例代码
2014/03/24 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
JavaScript实现图片轮播特效
2019/10/23 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
python类装饰器用法实例
2015/06/04 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
python try except 捕获所有异常的实例
2018/10/18 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python 创建守护进程的示例
2020/09/29 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
石油大学毕业生自荐信
2014/01/28 职场文书
进口业务员岗位职责
2014/04/06 职场文书
民间借贷协议书范本
2014/10/01 职场文书
python中的getter与setter你了解吗
2022/03/24 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技