如何利用Python在一个文件的头部插入数据

  介绍

这篇文章主要介绍如何利用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(旧)

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

如何利用Python在一个文件的头部插入数据