今日對話:怎麼把資料寫進檔案裡?
我的 Prompt(提示詞):
「我的程式一關掉,變數資料就不見了。請教我如何用 Python 把資料寫入一個 .txt 檔案,並且讀取出來?另外,聽說讀寫檔案有分 w、a、r 模式,它們差在哪裡?大家常說的 with open() 語法又是什麼?」
AI 導師這次把檔案操作比喻成「寫筆記本」,並且鄭重警告了新手最常犯的覆寫危機:
1.檔案操作的三大模式
你要對筆記本做什麼事,必須先跟 Python 說清楚:
r (Read / 讀取):預設模式。只能看不能寫,如果檔案不存在會報錯。
w (Write / 寫入):如果檔案不存在會幫你建立;但如果檔案原本就有內容,它會把舊內容全部刪光光,從頭開始寫!
a (Append / 附加):安全模式。一樣會幫你建新檔案,但寫入時會接在舊內容的最後面,不會蓋掉以前的資料。
看了 AI 的解釋,我在 VS Code 建立了 day13.py,準備來寫一本勇者日記:
python
#1. 建立並寫入檔案 (使用 w 模式)
#關鍵細節:一定要加 encoding="utf-8",不然 Windows 系統常常會把中文存成亂碼!
with open("diary.txt", "w", encoding="utf-8") as file:
file.write("【第一天】勇者出發了,帶了 100 枚金幣。\n") # \n 是換行符號
#2. 附加新內容 (使用 a 模式)
with open("diary.txt", "a", encoding="utf-8") as file:
file.write("【第二天】打敗了史萊姆,獲得 50 枚金幣。\n")
#3. 讀取檔案內容 (使用 r 模式)
print("--- 📖 開始讀取日記 ---")
with open("diary.txt", "r", encoding="utf-8") as file:
content = file.read() # 一次把所有內容讀取出來
print(content)
print("--- 📖 讀取結束 ---")
今天我們學會了用 with open()安全地打開檔案,並搞懂了 w、a與 r的差異。