Python模块学习--OptionParser

Python模块学习--OptionParser

简单介绍

OptionParser是python自带的解析unix命令行参数的模块,方便程序员解析命令行参数,并生成帮助和版本信息。

一个简单的例子

from optparse import OptionParser
usage = "usage: %prog [options] arg1 arg2 arg3"
version = "%prog 1.0"
parser = OptionParser(usage=usage, version=version)
parser.add_option("-z", "--zknum",
                  type="int",
                  dest="zknum",
                  help="Required:True   Type:int  Help:parastor zookeeper nums")

parser.add_option("-n", "--numbers",
                  type="int",
                  dest="num",
                  default=10000,
                  help="Required:False   Type:int  Help:fault execution nums, default: %default, range is 1-10000")

options, args = parser.parse_args()

print options.zknum
print options.num

add_option用来加入参数选项
通过parse_args解析命令行中的参数,获得各个参数的值

详细介绍add_option

add_option用来添加参数选项。
可以添加短参数,由’-'和单个字符组成;添加长参数,由"- -"和若干字符组成
add_option所有参数是:
‘action’ (string)
‘type’ (string)
‘dest’ (string)
‘default’ (any)
‘nargs’ (int)
‘const’ (any)
‘choices’ (tuple or list)
‘callback’ (function)
‘callback_args’ (the *args of function)
‘callback_kwargs’ (the *args of function)
‘help’ (string)
‘metavar’ (string)

1、action,参数处理方式
action的所有类型
store:配置时需要指定参数的值,这个值存入dest指定的变量中(参数多次配置取最后一次的值)。action不配置时,默认是store
store_const:配置时不需指定参数的值,配置后dest指定的变量为参数const设定的值,不配置为None
store_true:配置时不需指定参数的值,配置后dest指定的变量为True,不配置为None
store_false:配置时不需指定参数的值,配置后dest指定的变量为False,不配置为None
append:配置时需要指定参数的值,可以多次配置,配置的值放到一个列表中,dest指定的变量内容为这个列表
append_const:配置时不需指定参数的值,配置一次就把const的值放到一个列表中,dest指定的变量内容为这个列表
count:配置时不需指定参数的值,配置一次参数,dest指定的变量内容+1
callback:配置时不需指定参数的值,配置后,调用callback的函数
help:参数的帮助信息,-h和–help时打印
version:版本

正是因为action的多样,才使得OptionParser使用起来非常方便

2、type,数值类型
string:字符串
int:整数
long:长整数
float:浮点数
complex:虚数
choice:需要配置choices,配置的参数的值须在choices范围内

3、dest,指定存放参数值的变量

4、default,指定参数的默认值

5、nargs,指定参数后面值的个数,比如-v的nargs为3,部分命令行为-v 1 2 3 4,那-v的值为(1, 2, 3)

6、const,当action为store_const和append_const时,此参数才需要配置,参看action的store_const和append_const的解释

7、choices,当type为choice,此参数才需要配置,指定参数值的范围

8、callback,callback_args,callback_kwargs,callback为可执行的函数对象,当配置参数后,执行这个函数对象,callback_args和callback_kwargs为函数的参数

9、help,参数的帮助信息,-h和–help时显示的信息

10、metavar,帮助信息中显示参数含义的参数。
举例:
parser.add_option("-f", "--file", dest="file")
执行-h后,显示-f FILE, --file=FILE
parser.add_option("-f", "--file", dest="file", metavar='filename')
执行-h后,显示-f filename, --file=filename

介绍parse_args

parse_args是根据添加的参数解析命令行输入的参数

options, args = parser.parse_args()

options打印出来是字典形式(其实是定义过__str__的对象),键是添加参数的dest,值是输入的值或者默认值。args是除去add_option添加的参数之外的命令行输入的参数。
举例

from optparse import OptionParser

parser = OptionParser()
parser.add_option("-o", "--operation",
                  action="store",
                  dest="operation")

fakeArgs = ['-o', '1', '3']
options, args = parser.parse_args(fakeArgs)
print options
print args

执行结果:
{‘operation’: ‘1’}
[‘3’]

之后想获取参数的值,比如-o的值,直接使用options.operation即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值