python之parser.add_argument()用法——命令行选项、参数和子命令解析器

parser.add_argument用法 parser.add_argument用法 detect.py文件: if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--cfg', type=str, default='cfg/yolov3-spp-6cls.cfg', help='*.cfg path') parser.add_argument('--names', type=str, default='d... 阅读详情

python之parser.add_argument()用法——命令行选项、参数和子命令解析器

一、argparse介绍

argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。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)

三个步骤:

  • 1、创建一个解析器——创建 ArgumentParser() 对象
  • 2、添加参数——调用 add_argument() 方法添加参数
  • 3、解析参数——使用 parse_args() 解析添加的参数
1、创建一个解析器-----创建ArgumentParser() 对象

使用 argparse 的第一步是创建一个 ArgumentParser 对象:

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

ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。

描述description

大多数对 ArgumentParser 构造方法的调用都会使用 description= 关键字参数。这个参数简要描述这个程度做什么以及怎么做。在帮助消息中,这个描述会显示在命令行用法字符串和各种参数的帮助消息之间。

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

给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。例如

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.')
add_argument() 方法定义如何解析命令行参数

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

每个参数解释如下:

name or flags - 选项字符串的名字或者列表,例如 foo 或者 -f, --foo。
action - 命令行遇到参数时的动作,默认值是 store。
store_const,表示赋值为const;
append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
append_const,将参数规范中定义的一个值保存到一个列表;
count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
nargs - 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
const - action 和 nargs 所需要的常量值。
default - 不指定参数时的默认值。
type - 命令行参数应该被转换成的类型。
choices - 参数可允许的值的一个容器。
required - 可选参数是否可以省略 (仅针对可选参数)。
help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.
metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.

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

ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作。在大多数情况下,这意味着一个简单的 Namespace 对象将从命令行解析出的属性构建:

args = parser.parse_args()

在脚本中,通常 parse_args() 会被不带参数调用,而 ArgumentParser 将自动从 sys.argv 中确定命令行参数。

三、结果测试

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)

显示帮助文档:
在这里插入图片描述

action='store_true’的使用说明

action·- 命令行遇到参数时的动作,默认值是 store。

直接运行python test.py,输出结果False
运行python test.py --sparse,输出结果True

也就是说,action=‘store_true’,只要运行时该变量有传参就将该变量设为True。
在这里插入图片描述

引用:

夏普通博客

Python | 使用argparse解析命令行参数 今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。 命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。 sys.argv 解析命令行传入参数最简单的办法就是通过sys.argv,sys.argv可以获取到我们通过命令行传入的参数。 import 阅读详情

相关推荐

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2902

【Python基础函数笔记】parser.add_argument详解

没法debug,只好将那行参数注释,在主函数中赋初值给milestones,再debug看看。:指定参数的可选值列表。如果设置了该参数,那么命令行中提供的值必须是列表中的一个,否则将引发错误。:用于定义一个选项参数应该消耗的命令行参数数量。动作,将多个输出文件路径存储为列表类型的属性。:表示选项参数应该消耗剩余的命令行参数,将其解析为一个列表。动作,将其解析为布尔值类型的属性。,则在命令行中必须提供该参数,否则将引发错误。动作,将输入文件路径存储为字符串类型的属性。,也可以是一个字符串列表,例如。

Catherinemin的博客 4万+

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路

本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。

weixin_29306875的博客 671

parser.add_argument()

看这个小demo就能弄懂到底什么是parser.add_argument()了: 这个demo一共四步: import argparse #1.创建一个ArgumentParser类的对象a a=argparse.ArgumentParser(description="Test") #description里面的字符串内容可以随便填,就是描述你这个对象ArgumentParser类的对象a是用来干什么的 #2.一系列的a.add_argument() a.add_argument("--age",

weixin_47414034的博客 1万+

群晖NAS实战:从零部署Container Manager与Docker代理配置全攻略

本文详细介绍了在群晖NAS上从零部署Container Manager与配置Docker代理的完整流程。针对国内用户常见的镜像拉取问题,提供了图形化界面与SSH命令行两种解决方案,并分享了MySQL容器部署的实战案例。文章特别强调了网络配置技巧和日常维护方法,帮助用户高效管理NAS上的容器应用。

weixin_29254673的博客 1308

伺服驱动器485通信

485通信使用方法,485通信在上位机和伺服驱动器之间的应用,根据需要驱动电机旋转。

haipi511715316的博客 1万+

Python:parser.add_argument()用法【命令行选项、参数、子命令解析器、sh脚本】

parser 官方文档 一、argparse介绍 argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。 import argparse parser = argparse.ArgumentParser() parser.add

u013250861的博客 3870

芯片硅前验证技术与驱动工程师实战指南

硅前验证是芯片开发流程中的关键环节,通过pre-silicon simulation等技术手段在流片前验证设计正确性。其核心技术包括软件仿真、FPGA原型验证和硬件仿真器解决方案,涉及Linux驱动开发、芯片架构理解和波形分析等核心技能。作为连接芯片设计与系统集成的桥梁,硅前验证能早期发现设计缺陷,节省数百万美元流片成本。以Cadence Palladium为代表的硬件仿真器,通过专用服务器系统实现比纯软件方案快100-1000倍的仿真速度,为驱动工程师提供完整的外设模型验证环境。掌握硅前验证技术可显著提升

weixin_42522857的博客 328

parser.add_argument()用法——命令行选项、参数和子命令解析器

argparse是一个Python模块:命令行选项、参数和子命令解析器。通过使用这种方法,可以在使用命令行运行代码时直接给相应的变量赋值,就不需要在改python中的具体代码了。

丨汀、的博客 6383

RK3588与银河麒麟V10 SP1 2403深度适配:国产化硬件与操作系统的完美融合

本文深入探讨了RK3588处理器与银河麒麟V10 SP1 2403操作系统的深度适配,展示了国产化硬件与操作系统的完美融合。通过性能验证和实际应用测试,证明了这套组合在多媒体处理、AI推理和日常办公中的卓越表现,实现了完全自主可控的计算平台。

weixin_29194255的博客 249

XC7Z010-1CLG400C开发板ADC引脚配置全攻略(附完整引脚列表)

本文详细解析了XC7Z010-1CLG400C开发板的ADC引脚配置方法,涵盖XADC模块基础、CLG400封装的引脚布局、硬件设计规范及Vivado工程配置实战。特别提供了完整的引脚列表和性能优化技巧,帮助开发者高效实现模拟信号采集,适用于Zynq-7000系列开发。

weixin_29188043的博客 466

python之parser.add_argument()

argparse — 命令行选项、参数和子命令解析器 — Python 3.12.0 文档argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

qq_44722189的博客 3174

【Ubuntu】RK3576 Linux 6.10 Ubuntu 22.04 系统中 HUSB311 Type-C 转 DP 显示输出与 Device/OTG 模式切换配置详解

本文详细介绍了在Rockchip RK3576开发板(Linux Kernel 6.10+Ubuntu 22.04)上配置HUSB311 Type-C控制器的设备树实现方案。主要内容包括:1)硬件连接与模块组成;2)设备树完整配置,涵盖Type-C供电、USB OTG/Host模式、DP显示输出等关键功能;3)软件配置步骤与常见问题排查方法。该方案实现了Type-C接口的DisplayPort AltMode显示输出、USB Device/Host模式自动切换等功能,为嵌入式系统Type-C接口开发提供参考

qq_34478161的博客 808

argparse.ArgumentParser() 用法解析

argparse.ArgumentParser() 用法解析

青年有志 8829

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

argparse包的使用--命令行选项、参数和子命令解析器

argparse--命令行选项、参数和子命令解析器¶1、导入包2、创建一个解析器3、调用 add_argument() 方法添加参数4、使用 parse_args() 解析添加的参数 一个测试argparse例子 1、导入包 import argparse python官网的argparse包查看 2、创建一个解析器 parser = argparse.ArgumentParser(description='test') 使用 argparse 的第一步是创建一个 ArgumentParser 对象,

北巷番茄鱼的博客 323

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python中parse.add_argument()简单用法

argparse模块简单使用流程1.导入模块2.创建解析器3.添加参数4.解析参数5使用参数完整代码 argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块。 下面以例子来简单记下模块使用流程。 1.导入模块 import argparse 2.创建解析器 该解析器将命令行解析成python数据类型所需要的全部信息。 parser = argparse.ArgumentParser(description='test') #description是对程序功能的描述 3.添加参数

Nagato_Yuki_SOS的博客 4833

使用python的parser.add_argument()在卷积神经网络中如何预定义参数?

在训练卷积神经网络时需要预定义很多参数,例如batch_size, backbone,dataset,dataset_root等等,这些参数多而且特别零散;如果我们最初不把这些参数定义,到时候修改是一件特别麻烦的事情,需要逐个修改;所以这个时候用到了python的add_argument()很好的规避了这些问题。 首先讲,argparse是Python内置的一个用于命令项选项与参数解析的模块,argparse模块可以让人轻松编写用户友好的命令接口。程序定义它需要的参数,然后argparse将弄清如何从sy

对方正在输入中... 4756

Python argparse模块详解:从命令行参数解析到复杂工具构建

命令行参数是程序与用户交互的重要接口,它允许用户在不修改源代码的情况下动态配置程序行为。其核心原理在于解析操作系统传递给程序的字符串参数,并将其转换为程序内部可用的结构化数据。这项技术对于提升脚本的实用性和可分发性具有关键价值,广泛应用于自动化脚本、系统工具、数据处理管道等场景。通过Python标准库中的argparse模块,开发者可以高效地定义参数规则、实现类型验证、生成帮助文档,并支持子命令等高级功能。本文聚焦argparse的核心工作流与add_argument()方法,深入讲解如何构建健壮的命令行工

weixin_34357928的博客 521
下一篇: Python常用数据类型操作------元组
Code_demon
博客等级 码龄8年 2粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值