iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
佛心分享-IT 人自學之術

當 Python 初學者遇到 AI:30 天人機協作學習手記系列 第 13 篇

[Day 13] 讓資料永久保存:Python 基礎檔案操作與 with open() 語法

  • 分享至 

  • xImage
  •  

今日對話:怎麼把資料寫進檔案裡?

我的 Prompt(提示詞):

「我的程式一關掉,變數資料就不見了。請教我如何用 Python 把資料寫入一個 .txt 檔案,並且讀取出來?另外,聽說讀寫檔案有分 w、a、r 模式,它們差在哪裡?大家常說的 with open() 語法又是什麼?」

AI 導師的建議與拆解

AI 導師這次把檔案操作比喻成「寫筆記本」,並且鄭重警告了新手最常犯的覆寫危機:

1.檔案操作的三大模式
你要對筆記本做什麼事,必須先跟 Python 說清楚:

r (Read / 讀取):預設模式。只能看不能寫,如果檔案不存在會報錯。
w (Write / 寫入):如果檔案不存在會幫你建立;但如果檔案原本就有內容,它會把舊內容全部刪光光,從頭開始寫!
a (Append / 附加):安全模式。一樣會幫你建新檔案,但寫入時會接在舊內容的最後面,不會蓋掉以前的資料。

  1. 為什麼要用 with open()?
    以前寫檔案要分三步:打開檔案 (open) ➡️ 寫入內容 ➡️ 關閉檔案 (close)。
    很多新手(甚至老手)寫完內容後常常忘記關閉檔案,導致檔案被鎖死或資料遺失。
    with open() as 變數名稱: 就像是一本「會自動闔上的魔法筆記本」。只要離開這個縮排區塊,Python 就會自動幫你把檔案安全地關閉,超級省事!

實作筆記與驗證

看了 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的差異。


上一篇
[Day 12] 變數的生存法則與結界:全域變數與區域變數
下一篇
[Day 14] 基礎階段小結:動手做!結合這 13 天所學的猜數字遊戲
系列文
當 Python 初學者遇到 AI:30 天人機協作學習手記 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言