首页 > 代码库 > optparse参数处理

optparse参数处理

import optparse   #处理sys.argv中提供的UNIX风格命令行选项

a=optparse.OptionParser()
#a.add_option(name1,name2,[,**parms]) name1/2分别是所有选项的名称,parms为关键字
#关键字如下:
#action 解析选项时执行的动作:
# ‘store‘——选项有一个参数需要读取和保存,如果没有任何显示指定动作,这就是默认动作
# ‘store_const‘——选项不带任何参数,但是当遇到选项时,就会保存const关键字参数指定的常量值
#    ‘stone_true‘——解析选项时,保存的是BOOL值

# ‘store_false‘——解析选项时,保存的是BOOL值
# ‘append‘——选项有一个参数,解析时被附加到一个列表
# ‘count‘——选项不带任何参数,但是保存一个计数器,遇到参数,计数器的值就会增加
# ‘callback‘——遇到选项时,调用callback关键字指定的一个回调函数
# ‘help‘——解析选项时打印一条帮助消息
# ‘version‘——

#callback 指定遇到选项时候调用的回调函数 callback(option,opt_str,value,parse,*rags,**kwarg
#
#choice 指定所有可能的选项值的字符串列表,当一个选项只有一组有限的值时候使用
#
#const 通过store_const动作保存的常量值
#
#default 默认值None
#
#dest 设置用于保存解析期间选项值的属性名称
#
#help 这个特定选项的帮助文档
#
#metavar 指定打印帮助文本时使用的选项参数的名称
#
#nargs 为需要参数的动作指定选项参数的数量
#
#type 指定选项的类型
#########################################
a.disable_interspersed_args() #不接受简单选项和位置参数的混合使用
a.enable_interspersed_args() #选项与位置参数可以混合使用
a.parse_args() #解析命令行选项,并返回一个元组(options,args)options包含所有选项的值得对象,args是所有余下位置参数的列表
a.set_defaults() #设置特定选项目的的默认值

###########################################
a.add_option("-t",action="store_true",dest="tracing")
a.add_option("-o","--outfile",action="store",type="string",dest="outfile")
a.add_option("--speed",action="store",type="choice",dest="speed",choices=["slow","fast","ludicrous"])
a.add_option("-c",action="store",type="int",dest="cc",nargs=2) #带多个参数
a.set_defaults(tracing=False,speed="fast") #为各个参数设置默认值
opt,args=a.parse_args() #解析参数
print(opt.tracing)
#.....

optparse参数处理