argparse库

引言

argparse-------python用于解析命令行参数的标准模块

快速上手

import argparse                                       
parser = argparse.ArgumentParser()     创建一个命令行解析器对象                        
parser.add_argument()                  向解析器中添加命令行参数和选项               
parser.parse_args()                    解析命令行参数;解析成功之后即可使用

 举例子

# 导入库
import argparse# 1. 定义命令行解析器对象
parser = argparse.ArgumentParser(description='Demo of argparse')# 2. 添加命令行参数
parser.add_argument('--epochs', type=int, default=30)
parser.add_argument('--batch', type=int, default=4)# 3. 从命令行中结构化解析参数
args = parser.parse_args()
print(args)
epochs = args.epochs
batch = args.batch
print('show {}  {}'.format(epochs, batch))

   查看帮助信息 python try.py -h

 参数解释:

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

每个参数解释如下:

  • name or flags: 普通参数或flag参数选项参数的名称或标签,例如 epochs 或者 -e, --epochs。Flag参数不需要指定参数值,只需要带有参数名即可。
  • action: 指定action='store_true'或者‘store_False’之后,在运行程序添加参数时直接输入变量名,可以省略对应的默认值True或者False
  • nargs: 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
  • default: 不指定参数时该参数的默认值。
  • type: 命令行参数应该被转换成的数据类型。
  • required: 是否为必选参数或可选参数。
  • help: 参数的帮助信息。
  • metavar: 在 usage 说明中的参数名称,对于必选参数,默认就是参数名称,对于可选参数默认是全大写的参数名称
  • dest: 自定义ArgumentParser的参数属性名称
  • choices: 将命令行参数的值限定在一个范围内,超出范围则报错。
  • const: action 和 nargs 所需要的常量值。用于保存不从命令行读取但被action、nargs用到的常数值.
  • store_const:表示赋值为const;
  • append:将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
  • append_const:将参数规范中定义的一个值保存到一个列表;
  • count:统计参数出现次数

2. 解析命令行的参数:parse_args()

ArgumentParser对象通过 parse_args() 方法解析命令行的参数。它将检查命令行中每个参数,转换为适当的数据类型,然后调用相应的操作,并把参数结构化后存放在对象args中。

args = parser.parse_args()

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

参考:

python学习(05) - argparse的使用 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言—存储管理

在C语言中,存储管理是指分配、使用和释放内存的过程。C提供了几个标准库函数来处理动态内存分配,这对于创建灵活且高效的程序至关重要。理解C语言的存储管理主要涉及以下几个方面: 1. 动态内存分配函数 malloc(size_t size) 分配指定大小的…

APP流量变现——4项关键指标决定了APP混合变现的收入

APP流量变现的方式有很多种,主要的可以分为IAA(广告)收入、IAP(用户应用内付费)收入、订阅收入、单次买断收入。这里主要围绕当前流行的混合变现模式,即广告收入(IAA)应用内付费&…

外汇天眼:塞浦路斯证券交易委员会(CySEC)确认了四家投资公司退出投资者赔偿基金(ICF)会员资格

塞浦路斯证券交易委员会(CySEC)今天确认了四家投资公司已被取消其在投资者赔偿基金(ICF)的会员资格。 以下公司不再是ICF的会员: 1.Stone Edge Capital Ltd(LEI 213800PZFB9VV8FNWB30)&#xf…

yum来安装php727

yum 安装php727,一键安装,都是安装在系统的默认位置,方便快捷 先确定linux平台中centos的版本信息,一下内容针对el7 查看linux版本 : cat /etc/redhat-release 查看内核版本命令: cat /proc/version (0)如果有安装好…

Hive中的四种排序

1.order by 全局排序,只有一个Reducer(多个reducer无法保证全局有序),会导致当输入规模较大时,消耗较长的计算时间 hive.mapred.mode strict 模式下 必须指定 limit 否则执行会报错。 2.sort by 不是全局排序&…

3万字数据结构与算法学习笔记+知识点总结

文章目录 数据结构与算法排序排序算法常见排序算法复杂度冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)堆排序(Heap Sor…

2024上海国际冶金及材料分析测试仪器设备展览会

2024上海国际冶金及材料分析测试仪器设备展览会 时间:2024年12月18~20日 地点:上海新国际博览中心 ◆ 》》》组织机构: 主办单位:全联冶金商会、中国宝武钢铁集团有限公司、上海市金属学会 支持单位&#xff…

Linux C语言 51-IO复用

Linux C语言 51-IO复用 本节关键字:Linux C语言 IO复用 相关C库函数:select(FD_SET,FD_ISSET)、epoll IO复用 epoll是Linux特有的。select是POSIX规定,一般操作系统均有实现。 名称支持进程打开最大连接数IO效率消…

浅谈电能管理系统在智能轨道交通中的设计与应用——安科瑞 顾烊宇

摘要:城市轨道交通可以填补市民出行方式的空缺,它的运行需要有持续的电能提供支持。为了给轨道交通营造稳定的运行环境,迫切需要建立相应的电能管理系统,以此实现高质量的电能供给。在本文中,将对应的电能管理系统作为…

MysqL——深入MySQL原理(一)

文章目录 MySQL架构图MySQL执行流程简要执行流程:详细执行流程 存储引擎SQL执行顺序存储结构实战演示 MySQL架构图 图例如下: server层: Connection Pool :连接池,负责管理持有所有的连接,采用BIO的技术,…

前端使用scale属性结合CSS动态样式实现动态的图片缩放效果

废话不多说&#xff0c;直接上代码&#xff1a; 示例一&#xff0c;使用css动态样式结合scale进行src图片的缩放。 //结构层&#xff0c;使用动态属性配合计算属性来实现动态样式<img :src"selectedItem.url" alt"" :style"elementStyle(item)&…

Android实现通过字符串找到图片、Class

1、通过字符串找到相应图片并展示 ApplicationInfo appInfo getActivity().getApplicationInfo();int resID getResources().getIdentifier("图片名字", "mipmap", appInfo.packageName);holder.setImageResource(R.id.title_img, resID);2、通过字符串找…

HttpURLConnection请求调用webservice接口

/*** sendUrl:接口地址&#xff1b;soapXML&#xff1a;要发送的xml数据&#xff08;入参&#xff0c;命名空间&#xff09;* */public static String send(String sendUrl, String soapXML) throws IOException {// 创建服务地址URL url new URL(sendUrl);// 打开一个通向服务…

nvm安装pnpm,pnpm不是内部或者外部指令问题解决

node版本18支持安装pnpm 如需要安装pnpm&#xff0c;要先安装nvm切换node版本&#xff0c;因为pnpm要node版本18 https://github.com/nvm-sh/nvm nvm install 18 nvm use 18如遇版本切换失败问题&#xff1a; source ~/bashrc然后安装pnpm curl -fsSL https://get.pnpm.io/…

golang学习-结构体

1、定义 使用type 和struct 关键字来定义结构体&#xff0c;是值类型 格式如下&#xff1a; type 类型名 struct { 字段名 类型 字段名 类型 ... } 2、实例化 1、var 结构体实例 结构体类型 var p1 Person 2、使用new关键字 var p2 new(Person) 3、使用&对结构体…

程序员必知!2024最新版设计模式大合集

程序员必知&#xff01;开放封闭原则的实战应用与案例分析 核心思想&#xff1a;在设计中&#xff0c;应尽量通过添加新的类或模块来增加新的功能&#xff0c;而不是修改现有的代码。 程序员必知&#xff01;依赖倒置原则的实战应用与案例分析 核心思想&#xff1a;高层模块不…

部署 Spring Boot 应用中文文档

本文为官方文档直译版本。原文链接 部署 Spring Boot 应用中文文档 引言部署到云Cloud Foundry与服务绑定 KubernetesKubernetes 容器生命周期 HerokuOpenShift亚马逊网络服务&#xff08;AWS&#xff09;AWS Elastic Beanstalk使用 Tomcat 平台使用 Java SE 平台 总结 CloudCa…

DCP文件传输的重要性与应用

在数字时代&#xff0c;文件传输已成为商业运作中不可或缺的一环。随着企业越来越多地采用云基础设施和服务&#xff0c;有效地在云和团队之间传输大文件和数据集变得至关重要。在这一背景下&#xff0c;数据复制协议&#xff08;DCP&#xff09;文件传输应运而生&#xff0c;引…

【Java】【OpenCV】【awt】两种方式实现很「高大上」图片双重曝光

自双重曝光产生以来&#xff0c;它就一直是摄影爱好者热衷于尝试的摄影手法。通过双重曝光&#xff0c;可以为普通的照片带来神秘的意境和让人难以言喻的感觉&#xff0c;使得每一个场景的纹理和颜色都有了一种如梦如幻的效果&#xff0c;让人沉醉于其中。 在以前&#xff0c;摄…

血泪教训!Java项目的路径中一定不要包含中文~

今天通过应用类加载器获取某个目录下的文件时&#xff0c;控制台一直没有输出&#xff0c;但是没有任何的报错&#xff0c;代码如下所示 ClassLoader classLoaderwjrApplicationContext.class.getClassLoader();//appURL url classLoader.getResource("com/wjr/service&qu…