argparse 模块是 Python 内置的用于命令行选项与参数解析的模块。argparse的用法:
import argparse
- 创建一个命令行解释器对象:
parser = argparse.ArgumentParser(description=)
- 给解析器添加命令行参数:
parser.add_argument('--epoch', type=int)
- 解析命令行的参数:
args = parser.parse_args()
- 随后可以直接使用调用
.
进行查找提取相应的值。
add_argument() 方法
作用是给一个ArgumentParser对象添加参数信息:
parser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][,choices][, required][, help][, metavar][, dest])
- name or flags:普通参数或者flag参数,如 -e, --epoch,Flag参数不需要指定参数值,只需要带有参数名即可。
- action:命令行遇到 flag 参数时的动作,有两个常见的动作:
- store_true:设定flag参数为true
- store_false:设定为false,注意,如果直接启动程序不传入flag参数,那么这些配置是无效的
- nargs:接受的参数个数
- default:不指定参数时该参数的默认值
- type:默认值为str,不是str值会被过滤。需要int类型,只需设置
type = int
- required:是否为必选参数或者可选参数
- help:帮助信息
- metavar: 配合help将其信息输出
- dest: 关联值,若dest=“a”,那么可以通过args.a访问该参数
- choices: 参数可选值,比如
choices=[0, 1, 2]
- const:参数出现的次数。结合action,比如
action="count"
- store_const:表示赋值为const;
- append:将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
- append_const:将参数规范中定义的一个值保存到一个列表;
- count:存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
parse_args() 方法
ArgumentParser对象通过 parse_args() 方法来解析命令行的参数。
args = parser.parse_args()