Python 使用argparse设置运行参数

前言

本篇记录一下在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参数,表示限定了输入数据格式,比如str
required参数,表示运行时是否必须设置该项;
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)
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
argparsePython标准库中的一个模块,用于解析命令行参数。它提供了一种简单而灵活的方式来定义命令行参数、选项和子命令,并自动生成帮助信息。 使用argparse模块,你可以定义你的脚本需要的参数,并指定它们的类型、默认、描述等信息。argparse会处理用户在命令行中提供的参数,并将它们转换为相应的Python对象,以供你在代码中使用。 下面是一个简单的例子,展示了如何使用argparse解析命令行参数: ```python import argparse parser = argparse.ArgumentParser(description='这是一个演示argparse的例子') # 添加一个位置参数 parser.add_argument('name', type=str, help='你的名字') # 添加一个可选参数 parser.add_argument('-a', '--age', type=int, default=18, help='你的年龄') # 解析命令行参数 args = parser.parse_args() # 访问解析后的参数 print('你好,{}!你今年{}岁了。'.format(args.name, args.age)) ``` 在这个例子中,我们定义了一个位置参数 `name`,以及一个可选参数 `age`。位置参数没有前缀,而可选参数可以有短选项(如 `-a`)和长选项(如 `--age`)。通过调用 `parse_args()` 方法,我们可以解析命令行参数并将其存储在 `args` 对象中。然后,我们可以通过 `args.name` 和 `args.age` 访问这些参数。 当你运行这个脚本时,可以像这样提供参数: ``` $ python script.py John -a 25 ``` 输出将会是: ``` 你好,John!你今年25岁了。 ``` 这只是argparse的基本用法,它还提供了许多其他功能,如互斥参数、子命令等。你可以查阅Python官方文档来了解更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值