七、文件与异常:存档与防摔
第 35~38 课
学到这块,Python 才算真正能「干活」——之前所有东西都活在内存里,程序一关就没了。文件读写让数据落到纸面上。
第 35 课 读写文本文件
三步走:打开 → 读写 → 关闭。
# 写(w = write)
f = open("账单.txt", "w")
f.write("张三 4500\n")
f.write("李四 5200\n")
f.close()
# 读(r = read)
f = open("账单.txt", "r")
print(f.read())
f.close()
两个坑:
write()不会自动换行,两行之间要自己加\n- 用完要
close(),否则数据可能没真正写进去
(顺带一个冷知识:f.write(...) 会返回写入的字符数。在交互模式里你会看到它「冒」出 9、12 这样的数字——那不是报错,是它在跟你报账「这次写了几个字」。)
第 36 课 读写 CSV:表格的起点
CSV(逗号分隔值)是最通用的表格格式,Excel 能直接打开:
用 Python 自带的 csv 工具箱来读,先把工具箱 import 进来:
import csv
f = open("租金.csv", "r", encoding="utf-8")
reader = csv.reader(f)
for row in reader:
print(row)
f.close()
csv.reader 会把每行自动拆成列表:
这是整个学习里最实用的一课——真实表格导出成 CSV,Python 就能一行行处理了。
第 37 课 异常处理:出错别崩
读一个不存在的文件,程序会直接崩溃退出。try/except 给它穿一层防摔垫:
try:—— 「试着做下面这些」except:—— 「万一出错了,就做这些」
结果是程序不崩溃,而是给一句友好提示。真实场景里文件名打错、文件被删太常见了,这层兜底很值。
第 38 课 with:自动关闭
每次 open 都要记得 close,一忙就忘。with 让 Python 自动帮你关:
退出缩进块 = 文件自动关闭,不用写 close()。像「自动归还」——用完它自动帮你关上。
以后读写文件,优先用
with,这是 Python 界的标准好习惯。
这一块的心得
文件 + 异常 + CSV 三样凑齐,就能写真正处理数据文件的小工具了:读进来 → 清洗 → 筛选 → 算汇总 → 写出去。这正是我一开始学 Python 想要的东西。