python函数swap Python函数参数( 二 )


parser=argparse.ArgumentParser(description="This is a example program ")
add_help:默认是True,可以设置False禁用
3、add_argument()方法,用来指定程序需要接受的命令参数
定位参数:
parser.add_argument("echo",help="echo the string")
可选参数:
parser.add_argument("--verbosity", help="increase output verbosity")
在执行程序的时候,定位参数必选,可选参数可选 。
add_argument()常用的参数:
dest:如果提供dest,例如dest="a" , 那么可以通过args.a访问该参数
default:设置参数的默认值
action:参数出发的动作
store:保存参数 , 默认
store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值 。
store_ture/store_false:保存相应的布尔值
append:将值保存在一个列表中 。
append_const:将一个定义在参数规格中的值(常量)保存在一个列表中 。
count:参数出现的次数
parser.add_argument("-v", "--verbosity", action="count", default=0, help="increase output verbosity")
version:打印程序版本信息
type:把从命令行输入的结果转成设置的类型
choice:允许的参数值
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")
help:参数命令的介绍
上代码:
我们从一个基本的程序开始(它什么也不做)
importargparse
parser =argparse.ArgumentParser()
parser.parse_args()
运行结果:
$ python prog.py
$ python prog.py --help
usage: prog.py [-h]
optional arguments:
-h, --help show this help message and exit
$ python prog.py --verbose
usage: prog.py [-h]
prog.py: error: unrecognized arguments: --verbose
$ python prog.py foo
usage: prog.py [-h]
prog.py: error: unrecognized arguments: foo
【python函数swap Python函数参数】结果分析:
若不给参数而运行这个程序,将不会得到任何结果 。
第二条命名显示了使用的argparse的好处,你什么也没做 , 却得到了一个很好的帮助信息 。
我们无需人为设置--help参数,就能得到一个良好的帮助信息 。但是若给其他参数(比如foo)就会产生一个错误 。
位置参数
首先 , 给一个例子:
importargparse
parser =argparse.ArgumentParser()
parser.add_argument("echo")
args =parser.parse_args()
print args.echo
运行结果:
$ python prog.py
usage: prog.py [-h] echoprog.py: error: the following arguments are required: echo
$ python prog.py --help
usage: prog.py [-h] echopositional arguments:
echooptional arguments:
-h, --help show this help message and exit
$ python prog.py foo
foo
结果分析:
这次,我们增加了一个add_argument()方法,用来设置程序可接受的命令行参数 。
现在要运行程序,就必须设置一个参数 。
parse_args()方法实际上从我们的命令行参数中返回了一些数据,在上面的例子中是echo
这个像“魔法”一样的过程,是argparse自动完成的 。
尽管自动产生的帮助信息展示地很美观 , 但是我们仍然无法只根据echo这个参数知道它是做什么的 。所以,我们增加了一些东西,使得它变得更有用 。
importargparse
parser =argparse.ArgumentParser()
parser.add_argument("echo", help="echo the string you use here")
args =parser.parse_args()
print args.echo
运行结果:
$ python prog.py -h
usage: prog.py [-h] echopositional arguments:
echo echo the string you usehere
optional arguments:
-h, --help show this help message and exit

推荐阅读