Python程式以讀寫模式開啟檔案而不截斷檔案
在Python中,我們可以透過以a+模式開啟檔案來以讀寫模式開啟檔案而不截斷檔案。截斷檔案是指在開啟檔案之前刪除檔案中的現有內容。在本文中,我們將討論如何以讀寫模式開啟檔案而不截斷檔案。
什麼是a+模式
Python中的a+模式用於以讀寫模式開啟檔案而不截斷檔案。當檔案以a+模式開啟時,它允許我們在檔案末尾寫入新資料,而不會影響檔案中的現有資料。
語法
open(‘filename’,’a+’)
以上open方法接受檔名和我們希望檔案開啟的模式作為引數。a+模式表示檔案應以讀寫模式開啟,且不進行檔案截斷。
示例1:使用a+模式將資料寫入檔案
在下面的示例中,我們首先以a+模式開啟檔案“example.txt”並使用write()方法寫入訊息。寫入訊息後,我們使用seek()方法將指標移到檔案開頭。然後使用read()方法列印檔案的內容。
with open("example.txt", "a+") as file: file.write("This is a test message.") file.seek(0) print(file.read())
輸出
This is a test message.
示例2:使用a+模式重寫檔案資料
最初,example.txt檔案是空的,但現在訊息“This is a test message”已寫入檔案。現在,如果您再次執行以上程式碼並使用不同的訊息(例如“This is testing truncation in the file”),它將列印檔案中的原始訊息和新訊息。
with open("example.txt", "a+") as file: file.write("This is testing truncation in file.") file.seek(0) print(file.read())
輸出
This is testing truncation in file.
示例3:使用a+模式讀取和寫入檔案資料
在下面的示例中,我們以a+模式開啟example.txt檔案,並使用seek(0)方法將指標移到檔案開頭。然後,我們使用read()方法讀取檔案的內容並打印出來。
讀取檔案現有資料後,我們現在可以使用write方法將新資料寫入檔案,因為a+模式允許我們讀取和寫入檔案。再次,我們可以透過將指標移到檔案開頭,然後列印檔案內容來讀取檔案的全部內容。
with open("example.txt", "a+") as file: file.seek(0) print(file.read()) file.write("This is a new message.\n") file.seek(0) print(file.read())
輸出
This is a new message.
結論
在本文中,我們討論瞭如何在不截斷檔案的情況下讀取和寫入檔案。a+模式以讀寫模式開啟檔案,而不截斷檔案中的現有資料。當我們向檔案寫入新資料並列印檔案的完整內容時,它會列印現有資料和新資料。在使用Python處理檔案時,a+模式非常有用。
廣告