---
title: 13.Python 文字檔案的讀取和儲存 By 彭彭
tags: 學習, 紀錄
---
# 13. Python 文字檔案的讀取和儲存 By 彭彭
{%youtube C4OkV6DrVRs %}
## 讀取 儲存文字檔案
### 檔案操作流程
1. 開啟檔案
2. 讀取或寫入
3. 關閉檔案
## 1. 開啟檔案
基本語法
檔案物件=open(檔案路徑,mode=開啟模式)
## 2. 讀取或寫入
開啟模式
* 讀取模式- r
* 寫入模式- w
* 讀寫模式- r+
## 3.讀取檔案
* 讀取全部文字
檔案物件.read()
* 一次讀取一行
for 變數 in檔案物件:
從檔案依序讀取每行文字到變數中
(for迴圈一行一行讀取)
* 讀取Json格式
import json
讀取到的資料=jaon.load(檔案物件)
## 4.寫入檔案 (儲存檔案)
* 寫入文字
檔案物件.write(字串)
* 寫入換行符號
檔案物件.write("這是範例文字\n")
* 寫入jaon格式
import json
jason.dump(要寫入的資料,檔案物件)
## 5.關閉檔案
基本語法
檔案物件.close()
---
## 最佳實務
with open(檔案路徑,mode=開放模式)as 檔案物件:讀取或寫入檔案的程式
(以上區塊會自動 安全地關閉檔案 不需要寫close)
## Practice
### 一:儲存檔案
1. 開起檔案 讀取或寫入 儲存檔案
file=open("data.txt", mode="w") #開啟
file.write("Hello File") #操作
file.close() #關閉
* 處理中文問題 指定utf-8編碼
file=open("data.txt", mode="w", encoding="utf-8") #開啟
file.write("測試中文\n好棒棒") #操作
file.close() #關閉
2. 最佳實務示範
with open("data.txt", mode="w",encoding="utf-8") as file:
file.write("測試中文\n好棒棒")
### 二:讀取檔案(讀取已經存在的檔案)
1.
with open("data.txt", mode="r", encoding="utf-8") as file:
data=file.read()
print(data)
>測試中文
>好棒棒
2. 讀取檔案數字 做加法
把檔案中的數字資料,一行一行讀取出來,並計算總合
sum=0
with open("data.txt", mode="r", encoding="utf-8") as file:
for line in file: #一行一行讀取
sum=sum+int(line)
print(sum)
>8
### 三:使用Json格式讀取 複寫檔案
1. 建立新檔案config.json
{"name":"My Name",
"version":"1.2.5"
}
2. 使用Json格式 讀取資料
import json
with open("config.json, mode="r") as file:
data=json.load(file)
print(data) #data是一個字典資料
print("name:", data["name"])
print("version:", data["version"])
>name: My Name
>version:1.2.5
3. 從檔案中讀取Json資料,放入變數data裡修改資料
import json
with open("config.json, mode="r") as file:
data=json.load(file)
print(data) #data是一個字典資料
data["name"]="New Name" #修改變數中的資料
4. 把最新的檔案複寫回檔案中 寫入是W
with open("config.json, mode="w") as file:
json.dump(data, file)
>另一個資料的檔案會被複寫 如下
>{"name":"New Name", "version":"1.2.5"}