介绍
这篇文章主要介绍如何利用Python在一个文件的头部插入数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Python是什么意思
Python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。
在一个文件的末尾追加数据是很常用的。在使用过程中应该都比较熟悉不会出现什么错误。但是往一个文件头部插入数据可能或多或少会碰到一些问题。
<强>看似正确的错误代码强>
很多代码看似正确,但是其实都是错的。一起来看下这些代码
<强> 1,看似正确的错误代码1 强>
with 开放(路径,,“r +“), as f: ,,f.seek (0) ,,f.write(数据)
确实是从头写了,而且有些原有数据确实在,但是数据有问题....
因为“r +”方式写文件操作没有插入的语义,只有写文件的含义,原来位置如果有数据,不会后移的,是覆盖掉了....所以,你可能会看到一些老的数据,不仔细辨别可能就天真地以为成功了…
<强> 2,看似正确的错误代码2 强>
with 开放(路径,,“w +“), as f: ,,old =, f.read () ,,f.seek (0) ,,f.write(数据) ,才能f.write(旧)
你读取到的数据永远为空....
因为“w +”的含义就是截取长度为0然后写入文件。
<强> 3,看似正确的错误代码3 强>
with 开放(路径,,“+”),as f: ,,old =, f.read () ,,# f.truncate(0),,,,,, #取消掉注释成正确代码 ,,f.seek (0) ,,f.write(数据)
写入的数据永远出现在文件末尾.....
要打破魔咒的话要先将文件截断成0字节....
零食:想要“+”的效果变“r +”,在读之前先寻求(0),在写之前要截断一下,确保要写入的位置是文件的末尾。
<强>正确的代码强>
with 开放(路径,,“r +“), as f: ,,old =, f.read () ,,f.seek (0) ,,f.write(数据) ,,f.write(旧)
<强>原理思路:强>读出原有文件内容,移动索引到开始,写入新的数据,然后写入旧的数据。