ArgumentParser 是一个python类,是为了能显示help,并且丰富更多的输入参数。
import argparse
parser = argparse.ArgumentParser(description="这是描述信息")
使用python xxx.py -h 可以看到 xxx.py 文件的description
add_argument(name or flags...[, action][, nargs][, const][, default][, type]/
[, choices][, required][, help][, metavar][, dest])
name or flags:参数有两种,一种是加前缀’-‘或者’–'叫做可选参数,一种是不加前缀叫做位置参数,如果位置参数不传变量,则报错。
action:参数动作,argparse内置6种动作可以在解析到一个参数时进行触发:
- store 保存参数值,可能会先将参数值转换成另一个数据类型。若没有显式指定动作,则默认为该动作。
- store_const保存一个被定义为参数规格一部分的值,而不是一个来自参数解析而来的值。这通常用于实现非布尔值的命令行标记。
- store_ture/store_false 保存相应的布尔值。这两个动作被用于实现布尔开关。
- append 将值保存到一个列表中。若参数重复出现,则保存多个值。
- append_const 将一个定义在参数规格中的值保存到一个列表中。
- count统计参数出现的次数
nargs:参数的数量,值可以为整数N(N个),*(任意多个),+(一个或更多),值为?时,首先从命令行获得参数,若没有则从const获得,然后从default获得
default:参数的默认值
type:参数的类型
choice:允许的参数值
required:是否必选
help:参数命令的介绍
metavar - 修改参数需要变量的信息,只是作为显示使用
dest:参数值就保存为parse_args()返回的命名空间对象中名为该 dest 参数值的一个属性。
如果提供dest,例如dest=“a”,那么可以通过args.a访问该参数
arg = parser.parse_args()
print(arg)