本文为之前学习的一个总结(PPT记录还是有些局限)。
argparse用于个人给程序定义它需要传入什么参数。
- 使用方法:
1、创建解释器
parser = argparse.ArgumentParser(description='TimesNet')
argparse 模块对命令行接口的支持是围绕 argparse.ArgumentParser 的实例建立的。 它是一个用于参数规格说明的容器,包含把命令转变成python数据类型的所需的全部信息。
2、添加参数
parser.add_argument('--model', type=str, required=True, default='Autoformer',
help='model name, options: [Autoformer, Transformer, TimesNet]')
ArgumentParser.add_argument() 方法把参数一个个添加到解析器中,(添加到一个叫argparse.Namespace的对象中)。
3、解析参数
args = parser.parse_args()
- 详述:
1. 有关ArgumentParser 对象的解释
-
prog - 程序的名称 (默认值:
os.path.basename(sys.argv[0])
) -
usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)
-
description - 要在参数帮助信息之前显示的文本(默认:无文本)
-
epilog - 要在参数帮助信息之后显示的文本(默认:无文本)
-
parents - 一个 ArgumentParser 对象的列表,它们的参数也应包含在内
-
formatter_class - 用于自定义帮助文档输出格式的类
-
prefix_chars - 可选参数的前缀字符集合(默认值: '-')
-
fromfile_prefix_chars - 当需要从文件中读取其他参数时,用于标识文件名的前缀字符集合(默认值:
None
) -
argument_default - 参数的全局默认值(默认值:
None
) -
conflict_handler - 解决冲突选项的策略(一般没用)
-
add_help - 为解析器添加一个
-h/--help
选项(默认值:True
) -
allow_abbrev - 如果缩写无歧义,则允许缩写长选项 (默认值:
True
) -
exit_on_error - 决定当错误发生时是否让 ArgumentParser 附带错误信息退出。 (默认值:
True
)
2. 有关 add_argument() 的解释
指明应当如何处理一个参数 |
| |
将值限制为指定的可选项集合 |
| |
存储一个常量值 | ||
当未提供某个参数时要使用的默认值 | 默认为 | |
指定要在结果命名空间中使用的属性名称 | ||
某个参数的帮助消息 | ||
要在帮助中显示的参数替代显示名称 | ||
参数可被使用的次数 | int, | |
指明某个参数是必需的还是可选的 |
| |
自动将参数转换为给定的类型 |
其中比较难理解如下:
action中的 ——
- store_true: 调用了这个参数,则返回True;
- store_const: 调用了这个参数,则返回const值,const值在后面定义;
dest:如果提供dest,例如dest=“datapath”,那么可以通过args.datapath访问该参数。
(argparse模块中的参数action、dest使用_argparse dest-CSDN博客)
metavar: 参数的默认值是使用参数的名称大写作为显示名称。如果指定 metavar 参数,则在帮助文档中显示的参数名称将使用该名称。
- 总结
import argparse
parser = argparse.ArgumentParser() #构建
parser.add_argument("--oho", help="aaaaaa") #增加参数
args = parser.parse_args() #解析
print(args.oho)
更改以上三个步骤的模块做练习。