解决:ValueError: must have exactly one of create/read/write/append mode

news2024/11/25 18:49:20

解决:ValueError: must have exactly one of create/read/write/append mode

文章目录

  • 解决:ValueError: must have exactly one of create/read/write/append mode
    • 背景
    • 报错问题
    • 报错翻译
    • 报错位置代码
    • 报错原因
    • 解决方法
      • 今天的分享就到此结束了



背景

在使用之前的代码时,报错:
Traceback (most recent call last):
File “”, line 1, in
ValueError: must have exactly one of create/read/write/append mode



报错问题


  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: must have exactly one of create/read/write/append mode



报错翻译

主要报错信息内容翻译如下所示:


  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: must have exactly one of create/read/write/append mode

翻译:

  回溯(最近一次调用最后一次):
  文件 “<stdin>”,第 1 行,在<module>
ValueError:必须正好具有创建/读/写/追加模式之一


报错位置代码


...
  with open('README.txt','rw') as f:
  f.write(e.emojize('Hello, user:rose::'))
...



报错原因

经过查阅资料,发现是Python中的open函数没有rw这个参数,如果需要又读又写,可以使用r+或者w+来代替。


附:不同模式打开文件的参数列表如下:

模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

小伙伴们按下面的解决方法即可解决!!!



解决方法

要解决这个错误,需要使用r+或者w+来代替rw这个参数。

正确的代码是:

	with open('README.txt','w+',encoding='utf-8') as file:
		file.write(e.emojize('Hello, user :rose::'))
		file.write(e.emojize('
Notion: If you want to use all emoji, please add language='alias'.:red_heart:',True))


今天的分享就到此结束了

欢迎点赞评论关注三连

在这里插入图片描述

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

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

相关文章

初学者如何理解​session、cookie、token的区别与联系?

session、cookie、token。 相信学过接口的朋友都特别熟悉了。 但是对我一个刚接触接口测试的小白来说&#xff0c;属实有点分不清楚。 下文就是我通过查阅各种资料总结出来的一点理解&#xff0c;不准确的地方还请各位指正。 &#xff08;文末送洗浴中心流程指南&#xff09…

如何在代码中启动与关闭ROS节点

在ROS开发中&#xff0c;节点的管理是很重要的一部分&#xff0c;其中有一些节点大部分时候用不到&#xff0c;只会在特定情况下被启动&#xff08;比如建图节点&#xff09;同时这些节点在使用完后还需要被关闭&#xff0c;因此我们就需要在程序中对这些节点进行启动与关闭的管…

“GIF转PNG轻松转换,图片批量处理神器,提升你的图像管理效率!“

你是否曾经为转换GIF格式到PNG格式而感到困扰&#xff1f;或者为处理大量图片而感到烦恼&#xff1f;现在&#xff0c;我们为你推荐一款全新的GIF到PNG转换工具&#xff0c;以及一款图片批量处理工具&#xff0c;让你的图像管理工作变得轻松愉快&#xff01; 首先&#xff0c;…

通过分析波形,透彻理解 UART 通信

UART是一种异步全双工串行通信协议&#xff0c;由 Tx 和 Rx 两根数据线组成&#xff0c;因为没有参考时钟信号&#xff0c;所以通信的双方必须约定串口波特率、数据位宽、奇偶校验位、停止位等配置参数&#xff0c;从而按照相同的速率进行通信。 异步通信以一个字符为传输单位…

「媒体邀约」三农,农业类媒体资源有哪些?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 农业在我国国民经济中的地位是基础&#xff0c;农业是国民经济建设和发展的基础产业&#xff0c;因此围绕三农发展有很多的公司和企业&#xff0c;每年全国都有大大小小关于农业的展览&a…

C/C++内存管理(含C++中new和delete的使用)

文章目录 C/C内存管理&#xff08;含C中new和delete的使用&#xff09;1、C/C内存分布2、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free3、C动态内存管理3.1、new/delete操作内置类型3.2、new/delete操作自定义类型 4、operator new与operator delete函数5、…

天眼销:B端销冠的私藏宝藏!

在B端销售的业务场景下&#xff0c;获取客户的联系方式是绕不开的一个话题&#xff0c;并且也有很多销售有自己的经验。 怎么去获取企业客户呢&#xff1f;你肯定想我得找到企业基本的信息还有联系方式&#xff0c;这时候你可能会想到去知名的查查平台。然后你会发现&#xff…

tomcat调优配置

一. 设置账户进入管理页面 通过浏览器进入Tomcat7的管理模块页面&#xff1a;http://localhost:8080/manager/status 按照提示&#xff0c;在Tomcat7服务器指定的位置修改配置文件&#xff08;conf/tomcat-users.xml&#xff09;&#xff0c;增加相应的用户和角色配置标签 <…

亲子开衫外套 I 真的好温柔好有气质

分享适合宝宝和麻麻 一起穿的开衫外套 包芯纱拼貂毛 软糯亲肤不扎人 上身体验感非常不错 这种面料还不易起球 质感满满&#xff0c;单穿内搭都可&#xff01;

SRGAN 使用指南:将低分辨率图像转换为高分辨率图像

SRGAN、ESRGAN、Real-ESRGAN 使用指南 SRGAN网络结构优化目标 ESRGANReal-ESRGAN SRGAN 超分辨率&#xff1a;从低分辨率(LR)图像来估计其对应高分辨率(HR)图像的任务&#xff0c;被称作超分辨率(SR)。 SRGAN 图像超分辨率的深度学习模型&#xff0c;通过生成对抗网络&#x…

如何保证缓存和数据库的双写一致性?

一、什么是数据库和缓存双写一致性&#xff1f; 在分布式系统中&#xff0c;数据库和缓存会搭配一起使用&#xff0c;以此来保证程序的整体查询性能。也就说&#xff0c;分布式系统为了缓解数据库查询的压力&#xff0c;会将查出来的数据保存在缓存中&#xff0c;下次再查询时…

【送书活动二期】Java和MySQL数据库中关于小数的保存问题

之前总结过一篇文章mysql数据库&#xff1a;decimal类型与decimal长度用法详解&#xff0c;主要是个人学习期间遇到的mysql中关于decimal字段的详解&#xff0c;最近在群里遇到一个小伙伴提出的问题&#xff0c;也有部分涉及&#xff0c;今天就再大致总结一下Java和MySQL数据库…

SpringCloudAlibaba之Nacos——详细讲解

目录 一、SpringCloudAlibaba简介 1. spring cloud alibaba 特点 2.springcloud 组件 二、环境搭建 1.构建项目并引入依赖 三、Nacos 1.什么是Nacos 2.安装Nacos 3.启动安装服务 4.访问nacos的web服务管理界面 四、开发服务注册到nacos 1.创建项目并引入依赖 2.配置注册地…

idea 导入外部包 打包失败

一、在项目中引入jar包 二、pom文件添加 引入外部包 <!--应用第三方包监听文件--><dependency><groupId>jnotify</groupId><artifactId>jnotify</artifactId><version>0.94.0</version><scope>system</scope><…

LDF文件之LDF Explorer工具

LDF Explorer工具 LDF文件比较像DBC文件&#xff0c;也是用来解析报文的&#xff0c;DBC文件是用在CAN通讯上的&#xff0c;LDF文件是用在LIN通讯上的。 我们可以用vector自带的工具LDF Explorer打开LDF文件&#xff0c;这个工具是最标准的&#xff0c;有些同学自己做了一个L…

西工大网络空间安全学院计算机系统基础实验零

首先&#xff0c;下载VMware17 Pro workstation。为什么要下载VMware17 Pro workstation呢&#xff1f;因为计算机系统基础实验有四个大部分&#xff1a;利用位运算实现诸如a*b&#xff0c;a/b&#xff0c;a*(2^4)等运算&#xff1b;C语言循环语句、switch语句等语句与汇编代码…

Linux基本指令总结(二)

1.man指令&#xff08;重要&#xff09; Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 man指令就相当于一个精通linux的专家&#xff0c;你要查询的指令或者函数&…

正式版PS 2024 25新增功能 刚刚发布的虎标正式版

Adobe Photoshop 2024是一款业界领先的图像编辑软件&#xff0c;被广泛应用于设计、摄影、插图等领域。以下是这款软件的一些主要功能和特点&#xff1a; 丰富的工具和功能。Adobe Photoshop 2024提供了丰富的工具和功能&#xff0c;可以帮助用户对图像进行编辑、修饰和优化。…

嵌入式Linux学习(2)——经典CAN介绍(上)

目录 一. CAN与ISO-OSI Model 二. CAN通信 2.1 接线方式 2.1.1 闭环网络 2.1.2 开环网络 2.2 收发流程 2.2.1 发送 2.2.2 接收 三. CAN BUS访问与仲裁 3.1 “线与”机制​ 3.2 仲裁机制 REF CAN&#xff08;Controller Area Network&#xff09;总线协议是由 BOSC…

2024年湖北建筑企业申报助理工程师初级职称评审纸质版证书

2024年湖北建筑企业申报助理工程师初级职称评审纸质版证书 湖北省在2022年就发布了一个相关职称实行电子版文件&#xff0c;很多人就理所当然认为工程行业纸质版初级职称/助理工程师、中级职称有些局限。申报评审成功是否可以使用&#xff0c;怎么查询之类的一系列问题&#x…