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,一经查实,立即删除!

相关文章

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)如果有安装好…

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

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

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

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

MysqL——深入MySQL原理(一)

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

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

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

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

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

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

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

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

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

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

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

达梦数据实时同步软件DMHS介绍和原理

1、产品介绍 达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影…

Redis相关报错信息:Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。

报错信息: Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。 报错原因: 访问不到Redis服务 解决方案: 将Redis服务打开! 使用cmd命令行打开本机服务管理: services…

数组深入详解

1、背景 上传图片,需要对图片格式进行校验,这是就可以使用数组 2.1、什么是数组? Java 语言中提供的数组是用来存储固定大小的同类型元素。 如:可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量…

【前端转安卓】-Java基础知识笔记

常量定义:final public class HelloWorld {// 静态常量public static final double PI 3.14;// 声明成员常量final int y 10;public static void main(String[] args) {// 声明局部常量final double x 3.3;} }变量声明、赋值 String username,address,phone,te…

关于《电能质量管理办法(暂行)》实施的意义及解决方案——安科瑞赵嘉敏

中华人民共和国国家发展和改革委员会令 第8号 《电能质量管理办法(暂行)》已经2023年12月26日第7次委务会议审议通过,现予公布,自2024 年4月1日起施行。 主任 郑栅洁 2023年12月27日 1 办法解读 新型电力系统中新能源所占比例越来越高,光伏、风力等分布式电源、…

高德打车引入“红绿灯倒计时”能力,算力技术升级打车体验

打到的车还有多久能到?接驾车辆原地不动是什么原因?乘客在打车时,常常因为无法了解实时接驾路况,容易出现“等车焦虑”。 如今,高德打车已全面应用“红绿灯倒计时”能力,让乘客在等车时就能掌握接驾路况&am…

2024 年1月12日最热NLP大模型论文:Transformers are Multi-State RNNs

揭秘Transformer的无限可能,Meta研究发现Transformer其实是多状态RNN 引言:重新定义Transformer的视角 在自然语言处理(NLP)的领域,Transformer架构自2017年提出以来,已经成为了一种主流的模型&#xff0…

第十四章JSON

第十四章JSON 1.什么是JSON2.JSON的定义和访问3.JSON在JavaScript中两种常用的转换方式4.JavaBean和JSON的相互转换5.List集合和JSON的相互转换6.map集合和JSON的相互转换 1.什么是JSON 2.JSON的定义和访问 JSON的定义 JSON的类型是一个Object类型 JSON的访问 我们要…

芋道框架----(业务表单工作流)短信通知流程分析

芋道中给的请假流程示例,在发起流程的时候,可以看到它是由短信通知的,找了好久,想看看是什么时候触发的,之前一直以为是监听器,结果导致思维先入为主,陷入了怪圈,现做如下总结。 首先…