利用Python在一个文件的头部插入数据的实例


Posted in Python onMay 02, 2018

在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。

看似正确的错误代码

很多代码看似正确,但是其实都是错的。一起来看下这些代码

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)

原理思路:读出原有文件内容,移动索引到开始,写入新的数据,然后写入旧的数据。

以上这篇利用Python在一个文件的头部插入数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
浅谈Python NLP入门教程
Dec 25 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
在Pycharm中调试Django项目程序的操作方法
Jul 17 Python
Python一键安装全部依赖包的方法
Aug 12 Python
python实现高斯投影正反算方式
Jan 17 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
python爬虫使用scrapy注意事项
Nov 23 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
python中time.ctime()实例用法
Feb 03 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 Python
python在文本开头插入一行的实例
May 02 #Python
Python实现的根据文件名查找数据文件功能示例
May 02 #Python
对Python3中的print函数以及与python2的对比分析
May 02 #Python
python print 按逗号或空格分隔的方法
May 02 #Python
Django 跨域请求处理的示例代码
May 02 #Python
python 按照固定长度分割字符串的方法小结
Apr 30 #Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 #Python
You might like
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
如何在python中使用selenium的示例
2017/12/26 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
Python实现的建造者模式示例
2018/08/06 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
postman传递当前时间戳实例详解
2019/09/14 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
毕业生护理专业个人求职信范文
2014/01/04 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
早读迟到检讨书
2014/01/24 职场文书
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
工厂搬迁方案
2014/05/11 职场文书
爱国口号
2014/06/19 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
Python编写冷笑话生成器
2022/04/20 Python