利用Python在一个文件的头部插入数据的实例
作者:WarmSword 时间:2023-02-06 13:04:33
在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。
看似正确的错误代码
很多代码看似正确,但是其实都是错的。一起来看下这些代码
1、看似正确的错误代码1
with open(path, "r+") as f:
f.seek(0)
f.write(data)
确实是从头写了,而且有些原有数据确实在,但是数据有问题。。。。
因为”r+”方式写文件操作没有插入的语义,只有写文件的含义,原来位置如果有数据,不会后移的,是覆盖掉了。。。。所以,你可能会看到一些老的数据。不仔细辨别可能就天真地以为成功了。。。
2、看似正确的错误代码2
with open(path, "w+") as f:
old = f.read()
f.seek(0)
f.write(data)
f.write(old)
你读取到的数据永远为空。。。。
因为”w+”的含义就是截取长度为0然后写入文件。
3、看似正确的错误代码3
with open(path, "a+") as f:
old = f.read()
#f.truncate(0) #取消掉注释成正确代码
f.seek(0)
f.write(data)
写入的数据永远出现在文件末尾。。。。。
要打破魔咒的话要先将文件截断成0字节。。。。
snack:想要”a+”的效果变”r+”,在读之前先seek(0),在写之前要truncate一下,确保要写入的位置是文件的末尾。
正确的代码
with open(path, "r+") as f:
old = f.read()
f.seek(0)
f.write(data)
f.write(old)
原理思路:读出原有文件内容,移动索引到开始,写入新的数据,然后写入旧的数据。
来源:https://blog.csdn.net/junbujianwpl/article/details/73194846
标签:Python,文件,头部,数据
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
盖座漂亮的“楼”–浅谈网页设计中的构图
2010-09-10 12:44:00
python+rsync精确同步指定格式文件
2023-09-18 06:51:26
JSP分页显示的实例代码
2023-06-26 06:06:37
![](https://img.aspxhome.com/file/2023/0/97890_0s.jpg)
ThinkPHP学习笔记(一)ThinkPHP部署
2023-09-09 12:42:16
Go语言通过WaitGroup实现控制并发的示例详解
2023-06-29 01:04:27
python代码实现猜拳小游戏
2023-10-16 19:00:46
![](https://img.aspxhome.com/file/2023/3/63593_0s.jpg)
用ASP实现就MP3曲目信息的操作全攻略
2008-05-28 12:42:00
django foreignkey外键使用的例子 相当于left join
2021-04-17 15:52:33
2009淘宝网动画节日LOGO第一季
2009-05-18 19:11:00
CSS框架的相关汇总(CSS Frameworks)
2008-04-02 12:00:00
10个很实用的js小脚本代码
2007-10-17 21:08:00
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2023-07-01 11:01:00
![](https://img.aspxhome.com/file/2023/5/72065_0s.jpg)
一文带你熟悉Go语言中函数的使用
2023-07-13 08:22:23
Django模型验证器介绍与源码分析
2023-10-19 13:49:53
![](https://img.aspxhome.com/file/2023/5/76115_0s.png)
IE在DOM操作有表单控件时的bug
2008-08-21 13:00:00
淘宝网获亚洲最佳在线客户体验大奖
2009-03-31 12:55:00
![](https://img.aspxhome.com/file/UploadPic/20093/31/ued_090330-74s.jpg)
ASP编程如何执行存储过程?
2010-03-17 20:56:00
简单的ASP生成HTML并分页程序
2009-07-20 12:32:00
shtml网页SSI使用详解
2008-02-20 19:13:00
中国传统色彩名录
2007-11-29 18:36:00