python模块之模块之Argparse
背景背景
Argparse 顾名思义参数解析器,是命令行运行 python 文件时解析参数的模块,多用在需要多次修改代码参数的时候。比如
batch_size 、epoch 等,那么使用该模块将无比简单。
基本结构基本结构
假设 python 文件名为 :test.py 。
import argparse
parser = argparse.ArgumentParser(description="Demo of argparse.")
parser.add_argument('--batch_size', default=32, help='nums of a batch data')
parser.add_argument('-p', dest='path', default='data/', help='the path of data')
parser.add_argument('-m', '--model', default='train', help='train or eval')
args = parser.parse_args()
print(args)
命令行运行时应该输入:
python test.py [--batch_size [128]] [-p [save/]] [-m [train]]
使用详解使用详解
第一步第一步
parser = argparse.ArgumentParser(description='Demo of argparse')
使用 argparse 创建一个 ArgumentParser 对象,主要使用 description 参数,目的是在命令行运
行时使用 -h 显示程序的一个自定义简单描述。像这样:
E:\> python test.py -h
usage: test.py [-h] [--batch_size BATCH_SIZE] [-p PATH] [-m MODEL]
Demo of argparse.
optional arguments:
-h, --help show this help message and exit
--batch_size BATCH_SIZE
nums of a batch data
-p P ATH the path of data
-m MODEL, --model MODEL
train or eval
第二步第二步
parser.add_argument('-m', '--model', default='train', help='train or eval')
通过 add_argument() 方法添加需要的一些参数。
该方法本身共包含11个参数,下面只展开几个常用的:
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
name or flags
name 和 flags 分别以可以 - 和 -- 开头,两者可以都设置,也可以只设置其中一个。从第一步
的运行结果可以看到若同时定义了这两个,会以 - 为主,但是命令行运行时两者都可以用。
比如:
python test.py [--batch_size [128]] [-p [save/]] -m train
或者
python test.py [--batch_size [128]] [-p [save/]] --model train
default
要添加参数的默认值,比如命令行中省略 -p 时,默认 args.path 值是 data\ 。
评论0