Python optparser模块简介
写Python脚本写多了,有的脚本参数很多,有的脚本参数需要经常调节,直接去脚本中改参数或简单的通过sys.argv来传递参数都不方便,于是就专门学习了一下专用的选项解析器optparser模块。
一个简单的例子:
假设我们需要生成一些服从二维高斯分布的一些随机点,该Python脚本需要用户输入3个参数:生成的随机点的个数,保存这些随机点的文件的路径,以及是否在标准输出上打印这些点。三个参数在执行该Python脚本时由三个选项指定,选项部分的代码如下:
from optparse import OptionParser parser=OptionParser() #-n选项,指定生成的随机点的个数 parser.add_option('-n','--num',dest='num',help='The number of points',type='float',default=400) #-f选项,指定存储随机点的文件的路径 parser.add_option('-f','--file',dest='file',help='The path of file',default='file.txt') #-p选项,指定是否打印生成的随机点 parser.add_option('-p','--print',dest='print',help='Print or Not',action='store_true') (options,args)=parser.parse_args() #从命令行中取得选项指定的参数,并传递给以下变量 num=options.num file_path=options.file print=options.print
add_option()说明:
dest | 存取该选项参数的变量名 |
help | 帮助信息,在仅有-h或--help选项时会输出所有选项的帮助信息 |
type | 选项参数的类型,若不指定则默认为string |
default | 选项参数的默认值 |
下面逐个介绍代码中的选项:
-n:指定生成的随机点的个数,--n是其长选项的形式,参数的名字是num,默认值是400,参数的类型是float(如果不指定type则是默认类型string),
-f:指定存储随机点的文件的路径,默认值是file.txt
-p:这个选项比较特殊,有一个action属性,只要在执行脚本时含有-p选项,如果action的值是store_true,则该参数取值为True,如果action的值是store_false,则该参数取值为False。
参考文献: