argparse 模块
ArgumentParser类
add_argument() 方法
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
关键字简述:
name or flags : 一个命名或者一个可选字符串的列表,例如 foo 或 -f, --foo。
action : 当参数在命令行中出现时使用的动作基本类型。
nargs : 命令行参数应当消耗的数目。
const : 被一些 action 和 nargs 选择所需求的常数。
default : 当参数未在命令行中出现时使用的值。
type : 命令行参数应当被转换成的类型。
choices : 可用的参数的容器。
required : 此命令行选项是否可省略 (仅选项可用)。
help : 一个此选项作用的简单描述。
metavar : 在使用方法消息中使用的参数值示例。
dest : 被添加到 parse_args() 所返回对象上的属性名。
关键字详解:
action可选值:
- store:不设置action,默认为store。仅存储参数的值。
- store_const:存储‘const’关键字参数指定的值。这个关键字通常和可选参数一起用来指定一些标志。
- store_true(store_false):这两个是特殊的store_const,用来存储True或False。
- append:存储一个列表,并把每个参数追加到列表中。这个关键字对允许多次指定的选项(参数)很有用。
- append_const:存储一个列表,并将'const'关键字参数指定的值追加到列表中。(注意,const关键字默认为None.)。这个关键字一般在多个参数需要在同一列表中存储常量时使用。
- count:计算一个关键字参数在命令中出现的次数。'default'关键字默认为None。
eg:parser.add_argument('--verbose', '-v', action='count', default=0) - help:完整的帮助信息。
- version:期待在add_argument()方法中有一个'version='关键字参数。
- extend:存储一个列表,把每个参数追加到列表中。
nargs:
- N(一个整数):命令行中的N个参数会被聚集到一个列表中。注意 nargs=1 会产生一个单元素列表。这和默认的元素本身是不同的。
- '?':命令行中如果提供了该参数,会正常存储参数值,如果未提供该参数,则存储default定义的值。注意:如果提供了参数,但未在命令行中指定值,则存储const值。
这个关键字更常见的一种用法是:允许可选参数输入或输出文件。 - '*':所有当前命令行参数被聚集到一个列表中。
- '+':与'*'类似,区别是:当前一个参数都没有时,会产生一个错误。
const:
const关键字用来保存不从命令行中读取,但被各种ArgumentParser动作需求的常数值。
对 'store_const' 和 'append_const' 关键字, const 关键字必须给出。对其他关键字,默认为 None。
default:
当可选参数和一些位置参数在命令行中没有被定义时,存储default值。默认为None。
命令行中未提供参数,并且希望参数没有属性被添加时,使用:default=argparse.SUPPRESS。
type:
对命令行参数进行类型转化。type关键字可接受任意可调用对象(函数方法等)。
choices:
这个关键字被赋予一个容器对象,用来处理当参数需要从一组受限的数据中选择的情况。
使用这个关键字时,如果同时使用type关键字,需要注意choices所赋予的容器对象中所有的数据需要符合type类型。
required:
通常情况下,argparse模块会把'-f'和'--f'当做是可选参数,可以在命令行中忽略不被指定。如果需要设置其为必需指定的参数,则可以在 add_argument()方法中设置:required=True
help:
一个此参数作用的简单描述。
metavar:
使用 metavar 来指定一个替代名称在help中显示。请注意 metavar 仅改变 显示的 名称 - parse_args() 对象的属性名称仍然会由 dest 值确定。不同的 nargs 值可能导致 metavar 被多次使用。 提供一个元组给 metavar 即为每个参数指定不同的显示信息。
dest:
大多数 ArgumentParser 动作会添加一些值作为 parse_args() 所返回对象的一个属性。 该属性的名称由 add_argument() 的 dest 关键字参数确定。对于位置参数,dest 通常会作为 add_argument() 的第一个参数提供。
具体信息和示例参考官方文档:https://docs.python.org/3/library/argparse.html

浙公网安备 33010602011771号