
一、痛点:数据为什么会“蒸发”
写个脚本算完当月利润,print 出来挺开心,关掉窗口啥也没留下。下次领导要,又得重跑一遍。
数据持久化:把内存里的数据写到磁盘(文件),需要时能再读回来。这是自动化的地基。
二、核心武器:open() 与 with
# 写文件(自动关,防漏)
with open("result.txt", "w", encoding="utf-8") as f:
f.write("当月净利润:128万\n")
# 读文件
with open("result.txt", "r", encoding="utf-8") as f:
content = f.read()
with 会在代码块结束自动关闭文件,再也不怕忘记 f.close() 导致写不进去。
三、三种常用格式
1. 文本 .txt —— 最简单
适合日志、备注。
2. CSV —— 表格数据首选
import csv
rows = [["日期", "金额"], ["2026-08-01", 1200]]
with open("账单.csv", "w", encoding="utf-8-sig", newline="") as f:
csv.writer(f).writerows(rows)
注意 newline="" 和 utf-8-sig,否则 Excel 打开会多空行或乱码。
3. JSON —— 配置 / 结构化数据
import json
cfg = {"税率": 0.06, "科目": ["收入", "支出"]}
with open("config.json", "w", encoding="utf-8") as f:
json.dump(cfg, f, ensure_ascii=False, indent=2)
with open("config.json", "r", encoding="utf-8") as f:
cfg = json.load(f)
ensure_ascii=False 保证中文不被写成 \u...。
四、路径管理:pathlib 真香
别再手拼字符串路径了,pathlib 跨平台、可读、好用:
from pathlib import Path
base = Path("数据/2026年8月")
base.mkdir(parents=True, exist_ok=True) # 不存在就建
for x in base.glob("*.xlsx"): # 遍历所有 Excel
print(x.name, x.stat().st_size) # 文件名、大小
out = base / "结果.xlsx" # 路径拼接用 /
out.write_text("done", encoding="utf-8")
五、常见坑
1. 路径分隔符:Windows 用 \,但字符串里 \ 是转义符,写 r"D:\data" 或 Path。
2. 编码地狱:一律 encoding="utf-8"(写 csv 用 utf-8-sig)。
3. 覆盖丢失:用 "w" 会清空原文件,重要数据先备份或改用 "a" 追加。
4. 目录不存在:直接写文件报错,先 Path.mkdir(parents=True, exist_ok=True)。
5. 文件被占用:Excel 打开着同名文件时,Python 写不进去,先关表。
六、工具怎么用(配套 PyQt5 小工具)
界面提供一个“保存位置”选择框 + “格式”下拉(txt/csv/json),点“保存”就把结果落盘。核心就是上面那段 open / json.dump 逻辑。
七、小结
文件操作是自动化的“存档点”。记住三件事:用 with、定编码、管路径,你的数据就再也不会蒸发。
以上就是“Python 文件操作从入门到实战:一文搞懂数据持久化!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://www.phpxs.com/post/14448/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料