python命令行工具argparse

argparse是python标准库的一个命令行解析工具

下面通过一些代码来边操作边学习

import argparse
parse = argparse.ArgumentParser()
parse.parse_args()

执行后得到的结果

从结果可以看出有些参数是默认存在的 可以找到,有些是不存在,

如果我们想加入一个自定义的的参数可以使用下面的代码

运行后 会有下面的结果

从结果可以知道,这个参数是positional类型的 这个参数是必须赋值的,否则会报错

如果想要optional 类型的参数 可以用下边的代码

执行后的结果

这样的参数 也是需要传值的, 

如果想要有默认值 可以使用default例如上面的程序可以写成

import argparse
parse = argparse.ArgumentParser()
parse.add_argument("-verbosity",default = 1,type = int)
args = parser.parse_args()
if args.verbosity:
    print "verbosity turned on"

 

其中的type是参数的类型,默认地,type 为’string’。也正如上面所示,长参数名也是可选的。

如果参数是固定的true或者false可以使用aciton属性

parse.add_argument("--verbosity", action="store_true",dest='verbosity')

parse.add_argument("--p",action="store_false",dest='p');

action 是指示 argparse 当解析到一个命令行参数时该如何处理。actions 有一组固定的值可供选择,默认是’store ‘,表示将命令行参数值保存在  对象里。

这样的话 当解析到parse.verbosity时时true,当解析到parse.p时是false 其中,dest 参数也是可选的。如果没有指定 dest 参数,将用命令行的参数名来对  对象的值进行存取。

 

 

posted @ 2015-11-20 00:02  我的盲僧有点瞎  阅读(378)  评论(0)    收藏  举报