【深度学习】argparse模块一些学习心得体会(2)| parser.parse_known_args() |位置参数 可选参数

news2024/12/23 13:57:22

文章目录

  • 前言
  • 一、位置参数和可选参数
  • 二、parser.parse_known_args()


前言

之前我们写了一期命令行模块的使用介绍,但是依然有很多语法是没有介绍到的:比如parser.parse_known_args()这样的命令。这样的命令大量出现在各大开源项目中,今天我就顺带把这些问题解决一下。
上一期:argparse模块一些学习心得体会(1)

一、位置参数和可选参数

在介绍其他语法前,首先把这个基础的概念讲了,防止后面搞不懂
1)位置参数 positional arguments
其实我们上一节中演示的都是位置参数:

#-----------------------------------2.多添加几个----------------------------------------#
parser = argparse.ArgumentParser(description='实验1:使用命令行传入自己的名字')  #创建解析器对象
parser.add_argument("name", help="输入的名字", type=str)  #添加参数
parser.add_argument("age", help="输入的年龄", type=int)  #添加参数
parser.add_argument("high", help="输入的身高", type=float)  #添加参数
args = parser.parse_args()  #解析参数
print(args.name)  #后续操作
print(args.age)  #后续操作
print(args.high)  #后续操作

这种add_argument(‘’),name,age,high这种变量名前都没有–,那就是位置参数。
位置参数严格按照顺序传入参数,是很机械的。

2)可选参数 optional arguments
相比于位置参数,从表面上看就是比位置参数多了一个前缀:–。比如下面这个:

#-----------------------------------2.多添加几个----------------------------------------#
import argparse
parser = argparse.ArgumentParser(description='实验1:使用命令行传入自己的名字')  #创建解析器对象
parser.add_argument("--name", help="输入的名字", type=str)  #添加参数
parser.add_argument("--age", help="输入的年龄", type=int)  #添加参数
parser.add_argument("--high", help="输入的身高", type=float)  #添加参数
args = parser.parse_args()  #解析参数
print(args.name)  #后续操作
print(args.age)  #后续操作
print(args.high)  #后续操作

这就和我们开源项目的写法差不多了,我们运行一下(这下就可以不按位置传入参数了):

python arg1.py --name wen --high 189 --age 18

二、parser.parse_known_args()

parser.parse_known_args()和parser.parse_args()还是比较比较像的,但是依然有不一样的地方,写两个例子看看就明白了:
1)parser.parse_args()

args = parser.parse_args()  #解析参数

2)parser.parse_known_args()

opt, _ = parser.parse_known_args()

至少从返回return上面看,就有不太一样的地方。第一个返回一个参数,第二个返回两个参数。

如果对parser.parse_known_args()理解起来,还是有一点抽象的,我们直接上一个例子:

import argparse
parser = argparse.ArgumentParser(description='实验3:使用命令行传入自己的名字')  #创建解析器对3
parser.add_argument("--name", help="输入的名字", type=str)  #添加参数

args, _ = parser.parse_known_args()  #解析参数
print(args)
print(args.name)
print(_)

注意 上面只添加了一个参数
使用命令行(这里输入了3个参数):

python arg2.py --name wen --age 18 --high 189.0

结果:
在这里插入图片描述
其实从这张图里就能明白这个参数的意义了:
明明我只定义了一个参数,但是我输入了三个参数,有两个参数是不存在的,最后用【】list列表的形式保存了起来

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

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

相关文章

外汇天眼:官网虚假宣传受到多重监管!FCA率先发出警告!

11月16日,英国金融行为监管局( FCA )发出最新警告,提示投资者警惕与 Trade Top FX 这家未经授权的公司打交道。 FCA警告称:Trade Top FX 在未经我们授权的情况下在英国提供金融服务或产品,如果一旦遭受资金损失,您将无…

Word处理控件Aspose.Words功能演示:在 Python 中比较两个 Word 文档

在各种情况下执行 Word 文档的比较以确定差异。各种在线工具允许您比较 Word 文档,但是,您可能需要在应用程序中实现比较功能。为实现它,本文展示了如何在 Python 中比较两个 Word 文档。 Aspose.Words for . Python 最新下载(qu…

子容器在启动期间失败

​ 遇错: 今天遇到一个Bug:A child container failed during start 中文翻译为:子容器在启动期间失败 事情是这样的,一开始我在做案例的时候使用的tomcat是本地集成的,项目能正常运行; 后来我将tomcat的…

Dopamine-PEG-N3,DOPA-PEG-azide,水溶性PEG试剂供应

1、名称 英文:Dopamine-PEG-N3,DOPA-PEG-azide 中文:多巴胺-聚乙二醇-叠氮 2、CAS编号:N/A 3、所属分类:Azide PEG Dopamine PEG 4、分子量:可定制,有2k、5k、3.4k、10k、20k、1k 5、质量…

【salesforce】Lightning Web Component Study Log —— Part 2

持续学习中… 文章目录版本管理V1.0.01. The Lightning Web Components Model1.1 Web演变1.2 LWC1.3Aura和LWC的互用性2. Creating Lightning Web Components2.1 在VSCode定义一个LWC组件2.2 文件构成2.3 客户端-服务端体系结构2.4 基础UI组件-JS2.5 基础UI组件-HTML2.6 基础UI…

艾美捷PEG-2000 DMG解决方案

艾美捷PEG-2000 DMG英文全名1,2-dimyristoyl-rac-glycero-3-methoxypolyethylene glycol-2000,中文名可对应翻译为二肉豆蔻酰甘油-聚乙二醇2000。它的分子式为C122H242O50,分子量2509.2(平均值),代表结构如下&#xff…

数字IC手撕代码-XX公司笔试真题(串并转换控制)

前言: 本专栏旨在记录高频笔面试手撕代码题,以备数字前端秋招,本专栏所有文章提供原理分析、代码及波形,所有代码均经过本人验证。 目录如下: 1.数字IC手撕代码-分频器(任意偶数分频) 2.数字…

JetsonNano部署yolo5 c++ onnx

编译OpenCV最新4.5.x版本 Jetson Nano自带的OpenCV版本比较低,Jetpack4.6对应的OpenCV版本为4.1的 而OpenCV当前最新版本已经到了4.5跟4.6了,4.5.x中OpenCV DNN支持了很多新的模型推理跟新的特性都无法在OpenCV4.1上演示,所以我决定从源码编…

Go语言 02

2.1 下载安装 Go Golang 中文网 Go 的安装也是十分的简洁、简单。就是 Next。哈哈 ~ 输入 go version 来查看是否安装完成吧 ~ 2.2 配置环境变量和工作目录 GOROOT:C:\Environment\Go 意味着 Go 在哪里。 在配置 GOPATH 之前,先把用户的 GOPATH 删掉。…

远程预付费电能管理系统在工业园的应用,主要功能有哪些?

安科瑞 李可欣 具体可咨询:Acrel_lkx 0概述 本项目为凌云工业园提供解决方案。本项目共有DDSY1352-NK/DTSY1352-NK预付费计量表41台,针对凌云工业园商业用电实现用电的智能化管理,通过安科瑞终端预付费电能表计来计量每个商铺的用电量&am…

web前端-html-css-background背景(color样式,image图片,repeat重复方式,position定位,简写)

背景 背景样式和背景图片重复方式 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style type"text/css">.box1 {width: 1024px;height: 724px;margin: 0 auto;/*设置背景样式*/backgr…

Go-Zero环境搭建

Go-Zero环境搭建go-zero 需要安装的组件1 Protobuf下载安装需要先下载protoc执行器2 Protobuf下Go、GRPC插件的安装3 goctl 安装go-zero 需要安装的组件 protocprotoc-gen-goprotoc-gen-go-grpcgoctl 1 Protobuf下载安装 需要先下载protoc执行器 到 https://github.com/pro…

磷酸酶、转录因子、KRAS ——“不可成药”靶点?

不可成药的三大类靶点 传统的药物靶点绝大部分是具有适合的结合位点和明确的活性位点的蛋白质。药物分子往往通过“占位驱动”的药理学作用模式发挥作用。这种方法虽然可行&#xff0c;但并不能适用于所有的靶蛋白&#xff0c;尤其是在蛋白本身缺乏相应的结合口袋、蛋白的内源性…

天然产物化合物库

据文献报道&#xff0c;在传统药物研发时代&#xff0c;天然产物是新药研发最重要的、也几乎是独有的源泉&#xff0c;当时超过 80% 的药物均是原始天然产物或者其类似物&#xff1b;随着有机化学、药物化学、计算机技术等的发展&#xff0c;即使到了人工合成小分子药物占主导地…

Neo4J超详细专题教程,快来收藏起来吧

Neo4J超详细教程 Lecture&#xff1a;波哥 一、Neo4J相关介绍 1.为什么需要图数据库 随着社交、电商、金融、零售、物联网等行业的快速发展&#xff0c;现实社会织起了了一张庞大而复杂的关系 网&#xff0c;传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随…

webpack5 import动态导入实现按需加载并给文件统一命名

想要实现按需加载,动态导入模块。还需要额外配置: console.log("hello main");document.getElementById("btn").onClick = function () {// 动态导入 --> 实现按需加载 -->then是加载成功要做的处理不处理的话可以不写import( "./js/math.j…

【yarn】任务日志丢失问题分析

【yarn】任务日志丢失问题分析 故事背景 今天中午收到了一个报警邮件通知。内容大致为&#xff1a;有一个正在 yarn上运行的flink的实时任务挂掉了。 针对上述的现象&#xff0c;我们的开发工程师先打开yarn的web ui找到对应的job的任务页面。查询任务日志。 点击这个log&am…

java计算机毕业设计springboot+vue宠物服务管理系统

项目介绍 计算机网络的发展,促进了社会各行业的进步,带来了经济快速增长。用户通过本平台发布宠物趣事,进行展示,在平台上和用户进行实时的交流沟通,达成交易。用户登录后,把想要交易的宠物周边商品发布到平台上,进行交易,提高了效率,减少了时间成本,并且在交易过程中,宠物服务…

c语言(看一遍就会操作,小马教一步步教你如何文件操作)

前言&#xff1a; ^ _ ^文件操作想必大家掌握的并不熟练&#xff0c;确实因为我们用的并不多&#xff0c;而本节内容能够让大家初步认识文件操作&#xff0c;从文件认识到文件使用&#xff0c;让我们对c语言文件操作有个初步的了解&#xff0c;在应用中可以看我用文件的形式完…

java爬虫破解滑块验证码

使用技术&#xff1a;javaSelenium 废话&#xff1a; 有爬虫&#xff0c;自然就有反爬虫&#xff0c;就像病毒和杀毒软件一样&#xff0c;有攻就有防&#xff0c;两者彼此推进发展。而目前最流行的反爬技术验证码&#xff0c;为了防止爬虫自动注册&#xff0c;批量生成垃圾账号…