parse_args(args=None, namespace=None)
用来解析参数,看一下参数说明:
- args:要分析的字符串列表,默认取自 sys.argv
- namespace:命名空间
add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
定义单个的命令行参数应当如何解析,看一下参数说明:
name or flags:一个命名或者一个选项字符串的列表,例如:-f,--foo
action:当参数在命令行中出现时使用的动作基本类型
nargs:命令行参数应当消耗的数目
const:被一些 action 和 nargs 选择所需求的常数
default:当参数未在命令行中出现时使用的值
type:命令行参数应当被转换成的类型
choices:可用的参数的容器
required:此命令行选项是否可省略
help:一个选项作用的简单描述
metavar:在使用方法消息中使用的参数值示例
dest:被添加到 parse_args() 所返回对象上的属性名
下面我们通过具体示例看一下:
import argparse parser = argparse.ArgumentParser() parser.add_argument( '-n', '--name', dest='rname', required=True, help='increase output name' ) args = parser.parse_args() name = args.rname print('Hello', name)
先在控制台执行命令 python test.py -h
,执行结果:
usage: test.py [-h] -n RNAME optional arguments: -h, --help show this help message and exit -n RNAME, --name RNAME increase output name
我们可以看到参数已经添加进来了,接着执行命令 python test.py -n Jhon
或 python test.py --name Jhon
,执行结果:
Hello Jhon