在 Python 中覆盖文件

Syed Moiz Haider 2023年1月30日 2021年2月28日
  1. 使用 Python 中的 open() 函数覆盖文件
  2. 在 Python 中使用 file.truncate() 方法覆盖文件
在 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 Haider avatar Syed Moiz Haider avatar

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

相关文章 - Python File