Python文件读写 w+ 与 r+ 到底如何操作
原文地址:Python中文件读写之 w+ 与 r+ 到底有啥区别?
本文在原文基础上有删改。
r 是只读,只能读不能写,这是很明确的:
f = open("test.txt", 'r', encoding="utf-8")
f.write("we are heros\n")data = f.read()
print(data, type(data))
f.close()
这样的话报错是明显的:
io.UnsupportedOperation: not writable
但是变成r+呢,r+是可读写模式:
f = open("test.txt", 'r+', encoding="utf-8")
f.write("we are heros\n")data = f.read()
print(data, type(data))
f.close()
你试过会发现,什么也没打印出来,但同时也没有报错。到底是什么意思呢?
这是由文件读写机制问题造成的。当一个文件被读或者写一次后,游标指向的是整个文件的末尾。再次读时,是从游标所在的文件末尾开始读,这样的话肯定是什么都读不到了。那写完了接着读的正确姿势是什么呢?
f = open("test.txt", 'r+', encoding="utf-8") # 文件句柄
f.write("we are heros\n")
f.seek(0)
data = f.read()
print(data, type(data))
f.close()
f.seek(0)使得游标回到文件的开头。这样,读取文件时就是从游标所在的文件开头位置读取了。
那么r+与w+又有啥区别呢?不能简单的理解为读写都可,它们在细节之处还是略有不同!
r+:
- 先读后写,会在原有文本内容的后面添加写入内容。 因为读完时游标在文件最末尾。
- 先写后读,是从头开始覆盖式写入,实际写多少内容,就覆盖多少内容。写入完成后,游标停留在写完的位置而不是文件的末尾,此时再进行读取,可以读出未被新内容覆盖的文档内容。
w+:
- 先写后读,写完后游标就停留在文档的末尾,马上读的话什么内容都读取不到。应使用f.seek(0)让游标回到初始位置后,再开始读取。
- 先读的话是读不出任何东西的,因为w+也是纯粹的覆盖写,在未使用写操作前,无论之前该文件里有什么内容,已经被完全置空,是空白的。所以只能先写后读。
Python文件读写 w+ 与 r+ 到底如何操作相关推荐
- python 文件读写w r a w+ r+ a+ rb wb ab总结
r (读取) w (写入) a (追加) 存在:读取 存在:删除-->创建-->写入 存在:追加写入 不存在:报错 存在:创建-->写入 不存在:创建-->写入 + (可读 ...
- python文件读取模式_day-2 python 文件读写模式r,r+,w,w+,a,a+的区别
r+和w+都是可读可写,区别在于r+读文件时,不会覆盖之前的内容,之前的内容能够读出来:w+读时,会覆盖之前的内容:所以读文件时,用r或者r+ #读操作 r 1 filepath = 'aa.log' ...
- python 文件读写with open模式r,r+ w,w+ a,a+区别详解
python 文件读写with open模式r,r+ w,w+ a,a+区别详解 python中的 with open主要要来进行文件读写的操作 在 Python 中使用文件的关键函数是 open() ...
- python文件读写_python基础-文件读写'r' 和 'rb'区别
一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据. 'w':表示要向文件写入数据, ...
- 肝!超好懂的 Python 文件读写教程!
(扫码关注) 作者:黄伟呢 源自:数据分析与统计学之美 1.文件读写的流程 1)类比windows中手动操作txt文档,说明python中如何操作txt文件? ① windows中手动操作txt文件的 ...
- Python 文件读写
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...
- python文件读写及形式转化和CGI的简单应用
一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...
- python文件读写操作
文章目录 1. open函数介绍 2. 读文件 3. 写文件 4. with 方式读写文件 对文件进行读写操作是很常见的 I/O 操作,在Python中我们可以通过内置函数 open来完成. 1. o ...
- python异步读写文件_一文彻底搞懂python文件读写
Python文件读写 一,I/O操作 I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出.这里的输入和输出是相对于内存来说的,Input Stream(输入流)是指数据 ...
最新文章
- 博客园北京俱乐部第三次技术活动(2009/5/23)总结
- Google又发大招:高效实时实现视频目标检测
- 多进程fork()函数
- mysql查询当前库的实例名_oracle查询数据库名、实例名等
- javascript拖拽之从浏览器外拖拽(drag)
- Eric S. Raymond 五部曲 之 《开拓智域》
- .NET MVC第九章、Web Api Json序列化与反序列化
- std::stable_sort 和 std::for_each 的用法!按结构中某一字段值大小排续!
- ORACLE日期函数浅谈
- 哈工程和杭电计算机,哈工程算名校吗?为什么说千万别来哈工程?
- 机器学习的学习经验总结!
- c语言fread()函数
- 用ros中apriltag码进行定位(记录一下)
- 昇腾 (Ascend) AI 处理器:达芬奇架构
- 百度阳泉云计算中心二期开工,背后折射出什么?
- Tabular系列之问题1:如何利用其他人的账号进行权限测试?
- UE4 设置基础的车辆动力学
- Java实现的经典坦克大战小游戏
- 全数字仿真测试工具Edst
- 如何设置成为公网用户
热门文章
- linux安装Zeppelin
- 计算机免试生巢湖学院,关于公示计算机科学与工程学院2020届免试预推荐攻读研究生名单的通知...
- 把经纬度转换为Geohash(准确)
- html全屏枫叶飘落,jQuery飘落的枫叶
- 挑战用100美元赚100万美元
- Noah-MP模型 陆面生态水文模拟与多源遥感数据同化
- 读计算机专业广东那间学校好,读计算机专业广东省中职3+2学校那个好
- 图解PMP项目管理马斯洛需求层次理论在公司管理中的应用!
- 如何加快 Synology Drive 的同步过程?(外网速度极慢)
- 大陆出现首例iPhone 8电池爆裂事件;小米被指责盗用视频素材丨价值早报