p=optparse.OptionParser()
p.add_option(name1,...nameN [,**parms])
p.parse_args([arglist]):解析命令行选项并返回一个元组(options,args),其中options是包含所有选项的值的对象,args是所有余下位置参数的列表。options对象使用与选项名称匹配的属性名称来保存所有选项数据。
p.set_defaults(dest=value,....dest=value):设置特定选项目的地的默认值。关键字参数的名称应该与在add_option()函数中使用dest参数指定的名称相匹配。
- #!/usr/bin/env python
- import optparse
- p=optparse.OptionParser()
- ##简单的选项,不带参数
- p.add_option("-t",action="store_true",dest="tracing")
- ##接受字符串参数的选项
- p.add_option("-o","--outfile",action="store",type="string",dest="outfile")
- ##需要整数参数的选项
- p.add_option("-d","--debug-level",action="store",type="int",dest="debug")
- ##带有一些选择的选项
- p.add_option("--speed",action="store",type="choice",dest="speed",choices=["slow","fast","ludicrous"])
- ##带有多个参数的选项
- p.add_option("--coord",action="store",type="int",dest="coord",nargs=2)
- ##一组控制常用目的地选项
- p.add_option("--novice",action="store_const",const="novice",dest="mode")
- p.add_option("--guru",action="store_const",const="guru",dest="mode")
- ##为各个选项目的地设置默认值
- p.set_defaults(tracing=False,debug=0,speed="fast",coord=(0,0),mode="novice")
- opt,args=p.parse_args()
- print "tracing : ",opt.tracing
- print "outfile : ",opt.outfile
- print "debug : ",opt.debug
- print "speed: ",opt.speed
- print "coord: ",opt.coord
- print "mode: ",opt.mode
- print "args: ",args
输出结果:
python log.py -h
>python log.py -h
Usage: log.py [options]
Options:
-h, --help show this help message and exit
-t
-o OUTFILE, --outfile=OUTFILE
-d DEBUG, --debug-level=DEBUG
--speed=SPEED
--coord=COORD
--novice
--guru
>Exit code: 0
python log.py -t -o outfile.dat -d 3 --coord 3 4 --speed=ludicrous blah
>python log.py -t -o outfile.dat -d 3 --coord 3 4 --speed=ludicrous blah
tracing : True
outfile : outfile.dat
debug : 3
speed: ludicrous
coord: (3, 4)
mode: novice
args: ['blah']
>Exit code: 0
阅读(1844) | 评论(0) | 转发(0) |