讀取儲存文字檔案
檔案操作三流程:開啟檔案>讀取或寫入>關閉檔案
基本語法:
*開啟檔案:檔案物件=open(檔案路徑,mode=開啟模式)
*開啟模式:
讀取:r
寫入:w
讀寫:r+
*讀取全部文字檔案物件.read()
一次讀取一行
for 變數 in 檔案物件:
從檔案依序讀取每行文字到變數中
*讀取json格式
用途:網路上交換資料或儲存一些設定檔
import json
讀取到的資料=json.load(檔案物件)
*寫入文字(儲存
檔案物件.write(字串)
*寫入換行符號(\n)
檔案物件.write("這是範例文字\n")
*寫入json
import json
json.dump(要寫入的資料,檔案物件)
關閉檔案
釋放檔案空間
*基本語法
檔案物件.close()
*最佳實務
with open(檔案路徑,mode=開啟模式)as 檔案物件:
讀取或寫入檔案的程式
#用檔案物件去操作檔案
以上區塊會自動且安全的關閉檔案
使用這個就不用另外寫close()語法了
範例:
開啟檔案
#專案資料夾中新建一個data.txt檔案開啟並寫入:Hello File
file=open("data.txt",mode="w") #開啟檔案
file.write("Hello File") #操作檔案
file.close() #關閉檔案
備註:
要開啟"中文內容"的檔案的話:可以指定編碼File=open("data.txt",mode="w",encoding=utf-8)
*換行(\n)
file=open("data.txt",mode="w")
file.write("Ha Ha\nLaLa") #\n 換行
file.close()
*覆蓋
同一個檔案打開再重新寫入會有"覆蓋"的效果
原資料為:Hello File
新資料覆蓋舊資料後
data.txt檔案內容為:
Ha Ha
LaLa
最佳實務
新寫法
with open("data.txt",mode="w",encoding="utf-8") as file:
file.write("哈樓\n你好嗎")
原寫法
file=open("data.txt",mode="w",encoding="utf-8") #開啟檔案
file.rite("哈樓\n你好嗎") #操作檔案
file.close() #關閉檔案
讀取檔案
(已存在的檔案)
利用變數來操作檔案物件:
#把檔案讀出來的結果,並且放進變數data中,印出來
with open("data.txt",mode="w",encoding="utf-8") as file:
data=file.read()
print(data)
*使用 file.read()
直接讀取整個檔案
圖片
with open("data.txt",mode="w",encoding=utf-8) as file:
data=file.write("2\n3")
print(data)
#2
#3
*使用For...in...迴圈:
把資料一行一行讀取,一行一行印出來
計算總和
sum=0
with open("data.txt",mode="w",encoding="utf-8") as file:
for line in file: #設變數line
sum+=int(line) #本來是字串型態,要改成整數型態,然後加總
print(sum)