介紹如何在 Python 中將資料寫入檔案,並提供基本範例程式碼。
寫入檔案
在 Python 中若要將資料寫入檔案,可使用 open
開啟檔案後,以 write
寫入資料,最後再以 close
關閉檔案。
# 以覆寫模式開啟檔案 f = open("output.txt", "w") # 寫入資料 f.write("這是要寫入的資料\n") f.write("這是第二行資料\n") # 關閉檔案 f.close()
在使用 open
開啟檔案時,第二個參數是用來指定開啟檔案的模式,以寫入檔案來說,有兩個模式可以使用:
w
:覆蓋寫入模式,寫入後原本檔案的內容會被覆蓋掉。a
:附加寫入模式,寫入的資料會附加在原本檔案內容的後面。
上面的範例是以覆蓋寫入模式開啟檔案,所以如果該檔案已經存在且有內容的話,在寫入之後,所以的舊內容就會被蓋掉。
如果想讓寫入的資料附加在原本的檔案內容後方,不要把原本的內容覆蓋掉,就可以改用附加寫入模式:
# 以附加寫入模式開啟檔案 f = open("output.txt", "a") f.write("這是要寫入的資料\n") f.write("這是第二行資料\n") f.close()
這樣的話每次寫入的資料就會以附加的方式放在原本的內容後面,不會把舊資料蓋掉。
使用 print
寫入資料
檔案在開啟之後,也可以使用 print
配合 file
參數將資料寫入檔案,以下是簡單的範例:
f = open("output.txt", "w") # 以 print 寫入資料 print("這是要寫入的資料\n", file = f) print("這是第二行資料\n", file = f) f.close()
一次寫入多行資料
如果需要一次寫入多行的資料,可改用 writelines
的方式,它會自動將 list 中的每一項直接串起來,然後寫入檔案,以下是一個簡單的範例。
f = open("output.txt", "w") # 多行資料 lines = ["第一行\n", "第二行\n", "第三行\n"] # 一次寫入多行資料 f.writelines(lines) f.close()
搭配 with
寫入檔案
正常以 open
開啟的檔案,寫入完畢之後,都必須呼叫 close
關閉,若想要省略 close
的話,可以改用 with
的寫法:
# 搭配 with 寫入檔案 with open("output.txt", "w") as f: f.write("這是要寫入的資料\n") f.write("這是第二行資料\n")
參考資料:LINUX 技術手札