调用命令行参数库:
from argparse import ArgumentParser
实例化参数解析器:
parser = ArgumentParser()
添加命令行参数,及其格式说明:
parser.add_argument('--channels', dest='channels', type=int, default=200)
- name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo。
- "--" 符号标识可选参数;
- 没有 "-" 符合标识是必须传入的参数,且在命令行可以不写参数名只写参数的值,默认会分配给此参数,若有多个这种参数,则按顺序进行赋值;
- 只有一个时,标识可选,可以理解为两个的省略版本,若只有指定"--",命令行使用参数时就只能使用"--"加参数名进行调用,有"-"就可以只写一个"-"
- action - 命令行遇到参数时的动作,默认值是 store。
- 使用action后,若 action=store_true 默认不传参,这些参数也会进行初始化,即使没有默认值
- store_const,表示赋值为const;
- append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
- append_const,将参数规范中定义的一个值保存到一个列表;
- count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
- nargs - 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
- const - action 和 nargs 所需要的常量值。
- default - 不指定参数时的默认值。
- type - 命令行参数应该被转换成的类型。
- choices - 参数可允许的值的一个容器。
- required - 可选参数是否可以省略 (仅针对可选参数)。
- help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.
- metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
- dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.