argparse是一个参数处理库。
导入该模块
import argparse
使用该模块的第一步就是创建一个解释器对象,解析器类是 ArgumentParser
ap = argparse.ArgumentParser()
定义参数:add_argument()方法
ap.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
- name or flags是必须的参数,该参数接受选项参数或者是位置参数。
位置参数:ap.add_argument(“echo”)
选项参数:ap.add_argument("–verbosity")
在执行程序的时候,位置参数必选,选项参数可选。 - 参数数量nargs默认为1个,也可以自己设定多个。当选项接受1个或者不需要参数时指定nargs=’?’,当没有参数时,会从default中取值。对于选项参数有一个额外的情况,就是出现选项而后面没有跟具体参数,那么会从const中取值。
- type为参数类型,例如int。
- choices用来选择输入参数的范围,例如上面choices=【1,5,10】表示输入参数只能为1或5或10
- 当required为True时,在输入命令时必须设置该参数
- help用来描述这个选项的作用
- action表示该选项要执行的操作
- dest用来指定参数的位置
- metavar用在help信息的输出中
给定义的参数赋值
parse_args(args=None, nampespace=None)
- args 参数名称
- namespace 赋值
parse_args()是将之前定义的参数进行赋值,并返回相关的namespace,包含传递给命令的参数。