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 参数,将用命令行的参数名来对 对象的值进行存取。
原文:http://www.cnblogs.com/yichangTech/p/4979494.html