【Python】ArgumentParser用法

最近看代码 这个类之前都是简单看过去了  今早仔细看了一下  做个记录

 ArgumentParser 是 Python 标准库中的 argparse 模块提供的一个类,用于处理命令行参数。它使得编写用户友好的命令行接口变得简单和直观。

使用方法

1>  实例化ArgumentParser

# 实例化
# 创建一个 ArgumentParser 对象
# ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。
parser = argparse.ArgumentParser(description = 'segmentaion netword')

description : 描述所创建的ArgumentParser是干啥的 用途

2>使用 使用add_argument函数添加参数 

parser.add_argument('--cfg',
                        help='experiment configure file name',
                        default="experiments/cityscapes/ddrnet_slim.yaml",
                        type=str)
    parser.add_argument('--seed', type=int, default=304)
    parser.add_argument("--local_rank", type=int, default=-1)
    parser.add_argument('opts',
                        help="Modify config options using the command-line",
                        default=None,
                        nargs=argparse.REMAINDER)

用于向 ArgumentParser 对象添加一个命令行参数。

  • name_or_flags:参数的名称或标志,例如 '--input' 或 'input'
  • action:指定参数的动作,常见的有 'store'(存储值)、'store_const'(存储常量)、'append'(将值添加到列表中)等。
  • nargs:指定参数接受的值的数量,如 N(接受 N 个值)、'?'(接受 0 或 1 个值)、'*'(接受 0 或多个值)等。
  • const:用于指定常量值,仅在 action='store_const' 或 nargs='?' 时使用。
  • default:默认值,当命令行中未提供该参数时使用。
  • type:用于将输入值转换为指定类型,例如 intfloat 等。
  • choices:一个集合,参数的值必须是集合中的一个。
  • required:布尔值,指示参数是否为必需的。
  • help:参数的帮助信息,会显示在帮助文档中。
  • metavar:用于指定帮助信息中显示的参数名称

3>  使用parse_args解析参数

args = parser.parse_args()

解析命令行参数,并返回一个包含参数值的 Namespace 对象。如果 args 参数被指定,则解析该参数列表,否则解析 sys.argv 中的参数。

  • args:一个可选的列表或字符串,指定要解析的命令行参数。

4>  帮助信息

print_help(self, file=None)

打印帮助信息。如果提供 file 参数,则将帮助信息输出到该文件对象;否则,打印到标准输出。

5>示例  

比如说运行训练脚本的时候指定用哪个网络的yaml配置文件

python -m torch.distributed.launch --nproc_per_node=1 tools/train.py --cfg experiments/cityscapes/ddrnet23_slim.yaml

 python  tools/train.py --cfg experiments/cityscapes/ddrnet23_slim.yaml  使用 experiments/cityscapes/ddrnet23_slim.yaml进行训练

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonArgumentParser库是一个用于命令行选项、参数和子命令解析的Python模块。它的基本用法包括以下几个步骤: 1. 导入argparse库。 2. 创建ArgumentParser对象,它是一个总容器,存放着全部的信息。 3. 使用add_argument方法添加参数,可以指定参数的名称、类型、帮助信息等。 4. 使用parse_args方法解析添加的参数,它会返回一个Namespaces对象,相当于一个字典,可以通过对应的参数名来获取参数值。 以下是一个使用ArgumentParser库的示例代码: ```python import argparse parser = argparse.ArgumentParser(description='此代码用于求两个整数之和') parser.add_argument("a", type=int, help="第一个整数") parser.add_argument("b", type=int, help="第二个整数") args = parser.parse_args() sum = args.a + args.b print(sum) ``` 该代码可以通过命令行传入两个整数,并求它们的和。例如,运行脚本`python 当前脚本名字.py 6 4`,会输出结果`10`。 ArgumentParser库的详细用法还包括选项参数、子命令等功能,具体可以根据实际需求进行学习和使用。 [2 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python的常用库argparse介绍](https://blog.csdn.net/qq_42283220/article/details/124301420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [python之argparse库](https://blog.csdn.net/qq_44659804/article/details/128819525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值