在 Python 中覆盖文件
本教程将演示用 Python 覆盖文件的各种方法。我们将研究通过删除已经保存的文本来写入新文本的方法,以及如何先读取文件的数据,对其进行一些操作和修改,然后在旧数据上进行覆盖。
使用 Python 中的 open()
函数覆盖文件
open(file, mode)
函数将 file
(一个类似路径的对象)作为输入,并返回一个文件对象作为输出。file
输入可以是一个字符串或字节对象,包含文件路径。mode
是我们要打开文件的模式,它可以是 r
代表读模式,w
代表写模式或 a
代表追加模式等。
如果要覆盖一个文件,并向文件中写入一些新的数据,我们可以用 w
模式打开文件,这样就会删除文件中的旧数据。
示例代码:
with open('myFolder/myfile.txt', "w") as myfile:
myfile.write(newData)
如果我们想先读取保存在文件中的数据,然后再覆盖文件,我们可以先用读取模式打开文件,读取数据,然后覆盖文件。
示例代码:
with open('myFolder/myfile.txt', "r") as myfile:
data = myfilef.read()
with open('myFolder/myfile.txt', "w") as myfile:
myfile.write(newData)
在 Python 中使用 file.truncate()
方法覆盖文件
由于我们要先读取文件数据,然后再覆盖文件数据,所以可以通过 file.truncate()
方法来实现。
首先,用 open()
方法以读的方式打开文件,用 file.seek()
方法读取文件数据并寻找到文件的起始位置,用 file.truncate()
方法写入新数据并截断旧数据。
下面的示例代码演示了如何使用 file.seek()
和 file.truncate()
方法覆盖文件。
with open('myFolder/myfile.txt','r+') as myfile:
data = myfile.read()
myfile.seek(0)
myfile.write('newData')
myfile.truncate()
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn