python中optparse中的简单介绍
最近在学习的时候,看到了optparse模块,以前都没有使用过,不知道干嘛的,看了一些大神的讲解,现在写写自己的见解。
首先贴上一段代码
# -*- encoding:utf-8 -*-
from optparse import OptionParser
VERSION="0.0.1"
usage = "usage: %prog [options] arg1 arg2"
def main():
parser=OptionParser(usage)
parser.add_option("-f", #短参数
"--file",#长参数(短参数的全称)
dest="filename",#表示此option在经过optionparser解析后的options对象中成员的名字,默认使用long option
action="store",#表示对此option的处理方式,默认值为store,表示存储option的值到解析后的options对象的成员中
help="read data from FILENAME")
parser.add_option("-v",
"--verbose",
action="store_true",
dest="verbose")
args=['-f','file.txt','-v','good luck to you', 'arg2', 'arge']
(options,argslist)=parser.parse_args(args)
print argslist,len(argslist)
print options
print options.filename
if __name__ == "__main__": main()
代码运行结果为:
['good luck to you', 'arg2', 'arge'] 3
{'verbose': True, 'filename': 'file.txt'}
file.txt
首先介绍一下optparse到底是干什么的:
optparse可以做到类似与linux里面的做法,比如-h,可能表示的就是help,上面的程序-f表示的就是file,也就是filename的名字,所以options.filename
最后输出的也就是file.txt。
现在解释一下上面的程序为什么输出是这个样子的:
首先,-f之后是file.txt,所以filename对应的就是file.txt,对于-v来说,因为action="store_true"(如果action="store",且在数据中加入vision,那么verbose对应的就是vision),所以verbose对应的值是true。这些值加入options,剩下的值将加入argslist中。
如果在输出中加入print parser.print_help(),输出为:
Usage: first.py [options] arg1 arg2 ( first.py为本人python中的项目命名)
Options:
-h, --help show this help message and exit
-f FILENAME, --file=FILENAME
read data from FILENAME
-v, --verbose
None
下面再举几个例子:
usage = "myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]"
optParser = OptionParser(usage)
optParser.add_option("-f","--file",action = "store",type="string",dest = "fileName")
ooptParser.add_option("-v","--vison", action="store_false", dest="verbose",default='None',
help="make lots of noise [default]")
fakeArgs = ['-f','file.txt','-v','good luck to you', 'arg2', 'arge']
options, args = optParser.parse_args(fakeArgs)
print options.fileName
print options.verbose
print options
print args
print optParser.print_help()
运行结果是:
file.txt
False
{'verbose': False, 'fileName': 'file.txt'}
['this is some what', 'arg2', 'arge']
Usage: myprog[ -f <filename>][-s <xyz>] arg1[,arg2..]
Options:
-h, --help show this help message and exit
-f FILENAME, --file=FILENAME
-v, --vison make lots of noise [default]

浙公网安备 33010602011771号