argparse参数详解--python

python之argparse的使用—详细教程

一、argparse的示例

import argparse

parser = argparse.ArgumentParser(description='test')

parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')

args = parser.parse_args()
print(args.sparse)
print(args.seed)
print(args.epochs)

首先,导入argparse模块,然后分为三步:

1、创建一个解析器——创建 ArgumentParser() 对象

ArgumentParser()参数:一般我们仅仅使用description

prog=None - The name of the program (default: sys.argv[0]) 程序文件名
usage=None - The string describing the program usage (default: generated from arguments added to parser) 程序使用说明
description=None - help时显示的开始文字 Text to display before the argument help (default: none)
epilog=None, - help时显示的结尾文字
parents=[], -若与其他参数的一些内容一样,可以继承
formatter_class=argparse.HelpFormatter, - 自定义帮助信息的格式
prefix_chars=‘-’, - 命令的前缀,默认是‘-’
fromfile_prefix_chars=None, - 命令行参数从文件中读取
argument_default=None, - 设置一个全局的选项缺省值,一般每个选项单独设置
conflict_handler=‘error’, - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
add_help=True - 是否增加-h/–help选项,默认是True)

2、添加参数——调用 add_argument() 方法添加参数

add_argument()参数:通过add-argument()方法来给ArgumentParser对象添加新的命令行参数,参数的类型和相应的处理方法由不同的参数决定

name or flags - 必选参数名或者可选参数标识符,它必须作为add_argument()方法的第一个参数。
dest - 这个参数相当于把位置参数或者选项参数关联到一个特定的名字
action - 表示值赋予键的方式,这里用到的是bool类型,action意思是当读取的参数中出现指定参数的时候的行为
help - 参数的说明信息
required - 说明参数是否必须进行输入,只支持可选参数。
type - 指定命令行参数数据类型
choices - 说明命令行参数的取值范围,它的值一般是一个列表。choices列表中元素的类型应该与type批定的类型相兼容
nargs - 指定这个参数后面的value有多少个,默认为1,如果设定为数字,比如2,表示接受2个value;如果设定为‘?’那么就只接受1个或者0个value,当0个value是默认值是default的value;如果设定为‘*’,后面可接多个value
default - 必选参数和可选的参数的默认值

3、解析参数——使用 parse_args() 解析添加的参数

parse_args方法:将命令行参数字符串转换为相应对象并赋值给Namespace对象的相应属性,默认返回一个Namespace对象

args - List of strings to parse. The default is taken from sys.argv. 字符串列表,默认来自sys.argv
namespace - An object to take the attributes. The default is a new empty Namespace object. 对象名,默认是一个空Namespace对象。

二、结果测试

import argparse

parser = argparse.ArgumentParser(description='test')

parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')

args = parser.parse_args()

print(args.sparse)
print(args.seed)
print(args.epochs)

1)显示帮助文档
argparse参数详解--python_第1张图片
2)正确传参格式
argparse参数详解--python_第2张图片
3)错误传参显示
在这里插入图片描述

你可能感兴趣的:(学术讨论,python)