在python中我们不需要进行字符串的解析,而是可以直接使用一个类OptionParse即可,直接进行调用,首先要将该类进行导入
from optparse import OptionParser
这样我们就可以直接使用;
optParse=OptionParser()
然后是进行参数的添加
optParse.add_option("-f","--file",action="store",type="string",dest="fileName")
optParse.add_option("-v","--version",action="store_false",dest="verbose",default="gggg")
#构造我们解析的命令行
fakeArgs=['-f','file.txt','-v','good luck']
options,args=optParse.parse_args(fakeArgs)
print options.fileName #注意,这里会输出file.txt,因为action表明要进行存储,同时该属性的名称是fileName,值就是我们输入的file.txt
print options.verbosr #这里会输出false,因为我们指定了store_false,不进行存储
print options #全部输出,以键值对的方式输出 {"fileName":"file.txt","verbose":FALSE}
print args #是一个list容器,在去掉options解析的内容之外剩下的内容
这样就可以解析出我们输入的参数了,但是还有一点,对于这样的输入
MSG_USAGE = "myprog[ -f ][-s ] arg1[,arg2..]"
optParser = OptionParser(MSG_USAGE)
这样的结果只有在进行打印输出的时候,将MSG_USAGE首先进行输出,类似于提示信息,解析add_option的参数
"-f" short option string 为第一个参数,表示option的缩写
"--file" long option string 为第二个参数,表示全拼
action 表示对该option的处理,默认值是"store",也即将输入参数保存到对象成员当中,还有"store_true"保存"store_false"不保存
type 表示option值的类型,默认是string
default表示option的默认值
metavar 表示显示到help中option的默认值