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。

  参考文献:

  [1] optparser模块OptionParser学习

  [2] Python -optparser之 OptionParser

posted on 2012-12-08 23:47  潘的博客  阅读(1203)  评论(0编辑  收藏  举报

导航