在 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