一、optparse是专门用来在命令行添加选项的一个模块。支持python2.3及以上版本,从2.7版本之后,python不再更新该模块,2.7之后的版本推荐使用argparse模块。
二、optparse使用一种更加声明式的命令行解析风格:你创建一个OptionParser实例,填充选项,并解析命令行。optparse允许用户指定选项,使用传统的GNU/POSIX语法,此外它还会自动生成使用和帮助信息。
三、模块的基本使用
1、写一个py文件
#coding=utf-8 import optparse # 创建一个解析器,括号里可以传一个参数,该参数是使用信息 parser = optparse.OptionParser() # 添加选项,添加的选项可以在你使用命令行启动py文件时,添加参数传到文件里进行运算 parser.add_option("-f", "--file", action='store',dest="filename", help="write report to FILE", metavar="FILE") (options, args) = parser.parse_args() print options.filename
2、命令行使用:
D:code>python test.py --file=file.py # 打印结果为file.py
3、也可以直接在文件中定义
#coding=utf-8 import optparse # 创建一个解析器,括号里可以传一个参数,该参数是使用信息 parser = optparse.OptionParser() # 添加选项,添加的选项可以在你使用命令行启动py文件时,添加参数传到文件里进行运算 parser.add_option("-f", "--file", action='store',dest="filename", help="write report to FILE", metavar="FILE") fakeArgs = ['-f','file.py'] (options, args) = parser.parse_args(fakeArgs ) print options.filename
4、add_option(short_option,long_option,[**params])参数说明,short_option,long_option,分别代表短选项字符串和长选项字符串,params表示如下可用参数:
1)action:在解析选项时执行的动作,可设置为以下值:
- 'store'——默认值就是这个,表示把命令行参数保存到options对象中
- 'store_const'——选项不带任何参数,但是当遇到选项时,就会保存const关键字参数指定的常量值
- 'stone_true' ——解析选项时,保存的时BOOL值True
- 'store_false'——解析选项时,保存的是BOOL值False
- 'append'——选项有一个参数,解析时被附加到一个列表
- 'count'——选项不带任何参数,但是保存一个计数器,遇到参数,计数器的值就会增加
- 'callback'——遇到选项时,调用callback关键字指定的一个回调函数
- 'help'——解析选项时打印一条帮助消息
2)callback:指定遇到选项时候调用的回调函数 callback(option,opt_str,value,parse,*rags,**kwarg)
3)choice:指定所有可能的选项值的字符串列表,当一个选项只有一组有限的值时候使用
4)const :通过store_const动作保存的常量值
5)default 默认值None##dest 设置用于保存解析期间选项值的属性名称
6)help:这个特定选项的帮助文档
7)metavar:指定打印帮助文本时使用的选项参数的名称
8)nargs:为需要参数的动作指定选项参数的数量
9)type:指定选项的类型