【Python--读写模式全解】

news2025/10/31 16:09:01

读写模式

  • 读写模式
    • 语法
    • 读取
    • 写入
    • 追加
  • 小结

读写模式

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

# 读写文件最好用 with...open...操作,这样最安全
# 而且还不需要关闭文件
with open(path,'r')as f:
	f.read()
# 一次读取整个文件,当然可以设置读取大小,如f.read(128)
f.readline() 
# 一次读取一行
f.readlines()
# 一次读取整个文件,单按行读取

语法

# 这里的moed控制着读写的方式
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

基本的有三种读写方式,分别是读,写,追加,而默认状态为‘t’,表示文本模式。此外还有另外两种可搭配的方式:
一种是+表示可读可写
一种是b表示bit的二进制文件。以下是基本的三种方式的组合
如下图所示:
在这里插入图片描述

读取

模式描述
r打开只读文件,该文件必须存在。
r+打开可读可写的文件,该文件必须存在(这里的写文件是指将之前的文件覆盖。
rt打开只读文本文件,该文本必须存在。
rt+读写打开一个文本文件,允许读和写,该文件必须存在(这里的写文件是指将之前的文件覆盖。
rb只读打开一个二进制文件,,该文本必须存在。
rb+读写打开一个二进制文件,允许读和写,该文件必须存在(这里的写文件是指将之前的文件覆盖。

写入

w:清空文件内容,然后写入
x|新建文件,然后写入(如果文件存在,那直接失败)

模式描述
w打开只写文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件。
x新建文件,然后写入(如果文件存在,那直接失败)
w+打开可读写文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件(这里的读文件,同样需要使用rewind()函数)。
wt打开只写文本文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件。
wt+打开可读写文本文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件。
wb打开只写二进制文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件。
wb+打开可读写文件,若文件存在,则文件长度清零,即文件内容会消失,若文件不存在则建立该文件。

追加

模式描述
a以附加的方式打开只写文件,若文件不存在,则建立文件,存在则在文件尾部添加数据,即追加内容。
a+以附加的方式打开可读写文件,不存在则建立文件,存在则写入数据到文件尾(这里的读文件,同样需要使用rewind()函数,但是写文件不需要rewind()函数,a是追加)。
at二进制数据的追加,不存在则创建,只能写。
at+读写打开一个文本文件,允许读或在文本末追加数据(这里的读文件,同样需要使用rewind()函数,但是写文件不需要rewind()函数,a是追加)。
ab二进制数据的追加,不存在则创建,只能写。
ab+读写打开一个二进制文件,不存在则创建,允许读或在文本末追加数据(这里的读文件,同样需要使用rewind()函数,但是写文件不需要rewind()函数,a是追加)。

小结

读写模式是python进行文件操作中必备的一个属性,因此我们务必要掌握他。其实他并不是很理解,可能新手的话需要稍加思索。总之,记住以下口诀:
三种基本方式读写与追加,两种组合搭配是B和+。B代表二进制文件,+是可读又可写。上面三可搭配B与+,组成文件读写模式。

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

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

相关文章

如何调用API数据接口来获取想要的数据

API(Application Programming Interface)是连接不同软件和服务的桥梁,允许不同的应用程序之间共享和交换数据。API接口被广泛应用于各种场景,如: 1.移动应用程序:许多移动应用程序使用API接口与服务器通信…

量子计算——新兴领域的前沿技术

随着人类社会文明的不断进步,计算技术也在不断发展。传统计算机在过去的几十年中快速发展,计算速度、存储能力等方面发生了天翻地覆的变化。但随着大数据、人工智能、区块链等新兴领域的迅速崛起,传统计算机的发展似乎面临了瓶颈。在这样的背…

花3个月面过京东测试岗,拿个25K不过分吧?

背景介绍 计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在…

java简单接触

文章目录 常用的DOS命名计算机语言的发展史javajava的历史java的版本java的特性和优势JDK、JRE、JVMjava程序的运行机制 常用的DOS命名 # 盘符切换 C:\Users\Administrator>D: D:\> # 查看当前目录下的所有文件 dir # 切换目录 cd change screen # 返回上一级目录 cd ..…

FE_本地存储LocalStorage和SessionStorage

localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。他们均只能存储字符串类型的对象。localStorage生命周期是永久,这意味着除非用户主动在浏览器上清除localStorage信息,否则这些信息将永远存在。sessionStorage的失效时间为当前会话…

Wine运行器3.2.2——修复一些问题

不写太多啥了,详细介绍看这里就行:https://bbs.deepin.org/post/248098 更新内容 ※1. 修改源地址(迁出 Gitlink); ※2. 修复非 X86 架构运行器主页面虚拟机工具禁用的问题; 3、部分组件支持选择最优源。 …

C语言——数据类型

1. 变量 1.1变量的概念 变量就是在程序中可以发生变化的量,变量有类型。 变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。(1字节8位) 1.2定义格式 存储类型 数据类型 变量名;例如:(auto) int a; 变量名是标识…

Unity2d光源的使用

将项目升级为2dURP 安卓UPR插件 新建URP配置文件 (只有完成第一步操作之后才会有创建的选项) 右键>Create>Rendering>URP Asset (with 2D Renderer) 修改Project Settings(项目设置里面的相关设置) Edit>Project Settings>Graphics>设置Scriptable R…

组件弹框传值

1.引入组件 // 编辑干部弹窗 import edit from "../../components/rm/edit.vue"; 2.注册组件 components: {edit,}, 3.使用组件 <edit ref"edit" :visible.sync"editVisible" :rmid"UpFileData.id" :width"editWidth"…

股票量价关系基础知识4

价量配合与价量背离 在股票市场中&#xff0c;价的变化会引起量的变化&#xff0c;量的变化又会引起价的波动。从整体来看&#xff0c;价量关系主要存在两种情况&#xff1a;价量配合和价量背离。 一、价量配合 &#xff08;一&#xff09;基本概念 价量配合&#xff0c;是指股…

leecode255——二叉树的所有路径代码及示例

&#x1f50e;递归法&#xff1a; 既然是递归法&#xff0c;递归三部曲&#xff1a; &#xff08;1&#xff09;确定终止条件: 对二叉树的路径&#xff0c;遍历到叶子节点结束。本题要找到叶子节点才开始处理后续流程&#xff0c;那什么时候算是找到了叶子节点&#xff0c;即…

尚硅谷JUC

文章目录 1. 什么是JUC1.1 JUC简介1.2 进程和线程基本概念2.1 Synchronized2.1.1 Synchronized关键字2.1.2 synchronized实现三个线程卖30张票 2.2 Lock2.2.1 什么是Lock2.2.2 使用Lock实现买票功能2.2.3 两者的区别 3. 线程间通信及定制化通信3.1 使用synchronized实现线程之间…

【Windows线程开发】Windows线程同步技术

我们在上一章节中讲解了关于Windows的线程基础&#xff0c;相信大家已经对线程有了基本的概念。这一章节中&#xff0c;我们来讲讲线程同步技术&#xff0c;包括加锁技术&#xff08;原子锁和互斥体&#xff09;和事件&#xff0c;信号灯。 文章目录 一.原子锁二.互斥体三.事件…

SpringCloud-网关 Gateway

网关Gateway 一、网关初识二、网关的使用1.创建项目并引入依赖2.编写网关配置3.启动服务并测试 三.查看网关路由规则列表四.路由服务的负载均衡五.断言和过滤1.断言Predicate1.1.The Path Route Predicate Factory(路径断言工厂&#xff09;1.2.The After Route Predicate Fact…

【27】linux进阶——rpm软件包的管理

大家好&#xff0c;这里是天亮之前ict&#xff0c;本人网络工程大三在读小学生&#xff0c;拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识&#xff0c;希望能提高自己的技术的同时&#xff0c;也可以帮助到大家 另外其它专栏请关注&#xff1a; 锐捷数通实验&…

基于SSM+MySQL的支教管理系统

目录 1、系统介绍 2、系统功能展示 3、运行环境 4、运行效果 5、运行配置 6、下载地址 1、系统介绍 本系统是基于SSM(SpringSpringMVCMyBatis)框架开发的支教管理系统&#xff0c;系统共有超级管理员&#xff0c;系统管理员&#xff0c;支教学校&#xff0c;志愿者这四大…

我的新书上架了!

talk is cheap&#xff0c;show you my book&#xff01; 新书《从0开始学ARM》终于在各大平台上架了&#xff01;&#xff01; 一、关于本书 1. 本书主要内容 ARM体系架构是目前市面上的主流处理器体系架构&#xff0c;在手机芯片和嵌入式芯片领域&#xff0c;ARM体系架构…

前端架构师-week5-命令行交互原理

目录 加餐&#xff1a;命令行交互原理 学习路径 readline 源码分析 如何开发命令行交互列表 实现原理 架构图 本章学习路径和学习目标 readline 的使用方法和实现原理 高能&#xff1a;深入讲解 readline 键盘输入监听实现原理 秀操作&#xff1a;手写 readline 核心实…

MySQL---控制流函数、窗口函数(序号函数、开窗聚合函数、分布函数、前后函数、头尾函数、其他函数)

1. 控制流函数 格式 解释 案例 IF(expr,v1,v2) 如果表达式 expr 成立&#xff0c;返回结果 v1&#xff1b;否则&#xff0c;返回结果 v2。 SELECT IF(1 > 0,正确,错误) ->正确 IFNULL(v1,v2&#xff09; 如果 v1 的值不为 NULL&#xff0c;则返回 v1&#xff…

JVM垃圾收集器(一)

目录 1、如何考虑 GC 2、如何确定一个对象“死去” 3、分代收集理论 4、垃圾回收算法 5、HotSpot的算法实现细节 1、如何考虑 GC 垃圾收集&#xff08;Garbage Collection&#xff0c;GC&#xff09;的历史比Java更久远&#xff0c;1960年诞生于MIT。 GC 需要考虑的三件事…