argparse--- 命令行选项、参数和子命令解析器
1、介绍
argparse模块可以让我们很方便的编写命令行语句,它可以帮助我们从命令行中解析出程序所需要的参数,argparse模块还自动生成帮助和用法消息。当用户给程序输入无效参数时,模块也会发出错误。
2、使用方法
- 创建一个解析器,使用 argparse.ArgumentParser() 构建实例
parse = argparse.ArgumentParser(
prog = 'ProgramName',
description = 'What the program dose',
epilog = 'Text at thr bottom of help'
)
-
添加参数: 使用 ArgumentParser.add_argument() 将参数规范附加到解析器
-
"--dataset": 表示所添加的参数的名称
-
type=str: 表示数据类型
-
default="cora": 表示默认值
-
hlep: 可以写入一些参数说明,比如该参数有哪几种取值等
-
parser.add_argument(
"--dataset",
type=str,
default="cora",
help="Dataset name ('cora', 'citeseer', 'pubmed').",
)
- 解析参数: 使用 ArgumentParser.parse_args() 方法运行解析器从命令行中提取数据,并将数据放入变量args中
args = parser.parse_args()
ps: 有一次用这种方式发生了报错,改用
args = parser.parse_know_args()[0] 就好了
3、add_argument() 方法中的一些其它可选字段
Name | Description | Values |
---|---|---|
action | 指定应如何处理参数 | 'store' , 'store_const' , 'store_true' , 'append' , 'append_const' , 'count' , 'help' , 'version' |
choices | 取值限制为特定的选项集 | ['foo', 'bar'] , range(1, 10) , or Container instance |
const | 存储一个常量 | |
default | 指定一个默认值 | Defaults to None |
dest | 指定属性名称 | |
help | 填写一些帮助信息 | |
metavar | 参数的备用显示名称 | |
nargs | 参数可以使用的次数 | int, '?' , '*' , '+' , or argparse.REMAINDER |
required | 指示一个参数是必需的还是可选的 | True or False |
type | 可以将参数转换为给定类型 | int, float, argparse.FileType('w') , or callable function |