在 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