optparse模块主要是用来对参数的记录,相对来说比较灵活,

例子代码如下:

#!/usr/bin/env python

from optparse import OptionParser

usage = 'usage:%prog [options] arg' #主要是总的使用信息,表示如何来使用此方法或者其他
parser = OptionParser(usage) #构造optionparse object
parser.add_option('-f','--file',dest='filename',
help='write report to FILE',metavar='FILE') #设置的第一个参数
parser.add_option('-q','--quite',
action='store_false',dest='verbose',default=True,
help="'don't print status messages to stdout") #设置的第二个参数
args = ['kel']
(options,args) = parser.parse_args(args)
print options
print args

执行代码如下:

[root@python 429]# ./optparseexample.py -h
Usage: usage:optparseexample.py [options] arg Options:
-h, --help show this help message and exit
-f FILE, --file=FILE write report to FILE
-q, --quite 'don't print status messages to stdout

使用 -h的时候,表示为帮助,在使用构造的时候,可以看到传入的参数usage,表示主要的使用方法,而在两个参数均有help,那么也会打印出帮助信息,

在设置参数的时候,可以使用长的,或者短的参数,例如在第一个参数中设置的-f和--file,均表示同一个参数,dest表示设置的属性,也就是设置了参数-f,那么就会有一个参数为options.filename,第二个参数为options.verbose

dest参数表示设置的属性名称,default表示设置的默认值,

action参数表示store_true或者store_false,表示设置布尔值,true或者是false

其他的action参数还有store_const表示一个常量,append,表示追加这个参数到一个列表,count表示计数,callback表示为可以使用的方法

#!/usr/bin/env python

from optparse import OptionParser

usage = 'this is the method of the script'
parser = OptionParser(usage)
parser.add_option('-f','--file',dest='filename'
,help='this is the filename')
(options,args) = parser.parse_args()
print options
print args
~

执行结果如下:

[root@python 430]# python optparseexample.py -f kel
{'filename': 'kel'}
[]

当引用结果的时候,就是使用options.filename,从而可以引用这个值。

optparse模块的更多相关文章

  1. 最简单的optparse模块的用法

    optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...

  2. python OptParse模块的用法详解

    OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...

  3. optparse模块解析命令行参数的说明及优化

    一.关于解析命令行参数的方法 关于“解析命令行参数”的方法我们一般都会用到sys.argv跟optparse模块.关于sys.argv,网上有一篇非常优秀的博客已经介绍的很详细了,大家可以去这里参考: ...

  4. 利用optparse模块解析指令的字符串

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 使用方法: 生成OptionParser对象,为对象添加option,用parse_args方法解析文字 具体实 ...

  5. Python中optparse模块使用浅析

    转载:http://www.jb51.net/article/59296.htm 最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a ...

  6. python中optparse模块用法

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 首先需要引入optparser模块,然后执行初始化,实例化一个OptionParser对象(可以带参,也可以不带 ...

  7. python模块----optparse模块、argparse模块 (命令行解析模块)

    简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...

  8. Python中的optparse模块的使用

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输 ...

  9. python optparse模块

    为了从更快的的使用这个模块,我们会省略一些东西,开始吧. 1. 加载模块 from optparse import OptionParser 2. 实例化OptionParse,可以理解为表明usea ...

随机推荐

  1. base64 和 Blob 相互转换

    Base64 to Blob function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/ ...

  2. Ubuntu 16.04安装QQ国际版

    QQ国际版wine-qqintl的下载链接:http://pan.baidu.com/s/1jIwKdXs sudo apt install  libgtk2.0-0:i386 sudo apt in ...

  3. silverlight——多次异步调用的顺序执行

    遇到这样一个功能需求,对于后台的同一个服务调用多次,但要求传入的参数能够再一个执行完之后再进行另一个参数的执行. 由于silverlight支持的是异步调用机制,故无法控制服务调用何时返回.那么如果使 ...

  4. matlab GUI重新命名

    http://www.mathworks.com/matlabcentral/newsreader/view_thread/309789 To change the name you should o ...

  5. UVALive - 4108 SKYLINE (吉司机线段树)

    题目链接 题意:在一条直线上依次建造n座建筑物,每座建筑物建造完成后询问它在多长的部分是最高的. 比较好想的方法是用线段树分别维护每个区间的最小值mi和最大值mx,当建造一座高度为x的建筑物时,若mi ...

  6. BZOJ:5092 [Lydsy1711月赛]分割序列(贪心&高维前缀和)

    Description 对于一个长度为n的非负整数序列b_1,b_2,...,b_n,定义这个序列的能量为:f(b)=max{i=0,1,...,n}((b_1 xor b _2 xor...xor ...

  7. BZOJ3594: [Scoi2014]方伯伯的玉米田【二维树状数组优化DP】

    Description 方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美. 这排玉米一共有N株,它们的高度参差不齐. 方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感 ...

  8. BZOJ4152 AMPPZ2014 The Captain 【最短路】【贪心】*

    BZOJ4152 AMPPZ2014 The Captain Description 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1号点 ...

  9. IOS SEL (@selector) 原理及使用总结(二)

    SEL消息机制工作原理是什么 引用下面文章: 我们在之前有提到,一个类就像一个 C 结构.NSObject 声明了一个成员变量: isa. 由于 NSObject 是所有类的根类,所以所有的对象都会有 ...

  10. Emgucv3.0的安装与配置

    环境:vs2015+Emgucv3.0 Emgu Cv简介: Emgu CV 是.NET平台下对OpenCV图像处理库的封装.也就是OpenCV的.NET版.它运行在.NET兼容的编程语言下调用Ope ...