您当前的位置: 首页 >  Python

RuiH.AI

暂无认证

  • 0浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python 使用argparse设置运行参数

RuiH.AI 发布时间:2022-04-08 17:18:26 ,浏览量:0

Python Argparser设置运行参数
  • 前言
  • argparse包使用
    • 1 创建ArgumentParser对象
    • 2 为ArgumentParser对象添加运行参数项
    • 3 解析ArgumentParser对象,获得argparse.Namespace对象
    • 4 全过程
    • 5 参数项说明
  • 使用解析后得到的argparse.Namespace对象

前言

本篇记录一下在python中使用argparse设置运行参数。

argparse是python自带的包

argparse包使用

argparse包的使用如下:

1 创建ArgumentParser对象
import argparse

parser = argparse.ArgumentParser()
2 为ArgumentParser对象添加运行参数项

使用add_argument()方法添加运行时的可选参数:

parser.add_argument('--dataset', type=str, required=True, help='dataset root path')
parser.add_argument('-r', '--resume', action='store_true', default=False,
                    help='resume training from last epoch')

以上面两个比较典型的用法为例: ①parser.add_argument('--dataset', type=str, required=True, help='dataset root path') --dataset参数,表示运行时输入该项的格式为python main.py --dataset 'path_to_dataset'type参数,表示限定了输入数据格式,比如strrequired参数,表示运行时是否必须设置该项; help参数,提示使用方法。

parser.add_argument('-r', '--resume', action='store_true', default=False, help='resume training from last epoch') -r, --resume参数,表示运行时输入该项的格式可为python main.py -rpython main.py --resume,是等效的; action参数,表示该项是一个触发项; default参数,表示该项的默认值。

第5部分会说明①②的具体区别。

3 解析ArgumentParser对象,获得argparse.Namespace对象

通过parse_args方法解析,获得argparse.Namespace对象:

args = parser.parse_args()
4 全过程
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--dataset', type=str, required=True, help='dataset root path')
parser.add_argument('-r', '--resume', action='store_true', default=False,
                    help='resume training from last epoch')
args = parser.parse_args()
5 参数项说明

parser.add_argument('--dataset', type=str, required=True, help='dataset root path')说明运行时必须(required)为参数--dataset输入一个str值。 运行方法:

parser.add_argument('-r', '--resume', action='store_true', default=False, help='resume training from last epoch')说明默认该参数为False(default),运行时可以输入-r, --resume,并且不需要提供值,因为该参数会变成True(store_true)

使用解析后得到的argparse.Namespace对象

在上面的代码最后加入一句:

print(args)

然后在终端运行该.py文件:

python main.py --dataset '~/MSCOCO' -r
# Namespace(dataset='~/MSCOCO', resume=True)

如果要使用解析后的参数,可以通过类成员的方式调用该参数:

print(args.dataset, args.resume)
关注
打赏
1658651101
查看更多评论
立即登录/注册

微信扫码登录

0.1002s