如何寫入一個 txt 並確保資料內容會完全覆蓋,即使目前已經有檔案?

 

 

 

在 Python 中,確保寫入的資料能完全覆蓋已有的文件,可以使用 open 函數並指定模式為 'w'(寫入模式)。這會清空目標文件(如果文件已存在),並用新內容覆蓋。


寫入範例

以下範例示範如何將內容寫入 .txt 文件,並確保完全覆蓋:

file_path = "example.txt"

# 寫入模式 ('w'),會清空現有文件並寫入新內容
with open(file_path, 'w', encoding='utf-8') as file:
    file.write("這是新的內容。\n完全覆蓋舊的內容。")

確保內容完全覆蓋的細節

  1. 使用 'w' 模式

    • 當文件已存在:清空文件,然後寫入新內容。
    • 當文件不存在:自動創建一個新文件,並寫入內容。
  2. 指定編碼

    • 如果內容包含中文或其他非 ASCII 字符,建議明確指定 encoding='utf-8',以避免編碼錯誤。

附加操作:覆蓋後檢查內容

如果需要確認覆蓋成功,可以在寫入後立即讀取文件內容:

file_path = "example.txt"

# 寫入並覆蓋
with open(file_path, 'w', encoding='utf-8') as file:
    file.write("這是新的內容。\n完全覆蓋舊的內容。")

# 確認覆蓋成功
with open(file_path, 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)

注意事項

  • 如果需要保留原文件內容,請先備份或改用 'a' 模式(追加模式)。
  • 使用 'w' 模式時,若操作中斷(例如程式崩潰),文件可能會處於空文件狀態,請謹慎處理。