logo
49

文件操作

⏱️ 35分钟

文件操作(File Handling):让数据可持久化

你现在可能会困惑什么

“变量里有数据就够了,为什么还写 file?”

程序结束后内存会清空,file 才能长期保存和共享数据。

一句话定义

文件操作是按模式读取、写入和追加磁盘数据。

生活类比

变量像白板内容,断电就没;file 像笔记本,长期保留。

最小可运行例子

with open("demo.txt", "w", encoding="utf-8") as f:
    f.write("Hello Python\n")

with open("demo.txt", "r", encoding="utf-8") as f:
    print(f.read())

模式选择

  • r: 读
  • w: 覆盖写
  • a: 追加写

课堂小测(5 分钟)

  1. 写入三行文本再读取。
  2. a 追加一行。
  3. 统计文件总行数。

课堂小测参考答案与判分点

  • 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
  • 判分点 1(正确性):主流程结果正确,关键分支可执行。
  • 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
  • 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。

迁移任务(课后)

实现“日志汇总器”:读取日志,输出 summary 文件。

本节验收标准

你能独立做到:

  • 使用 with open() 读写文件
  • 正确选择 r/w/a 模式
  • 处理编码问题

常见报错与调试步骤(新手版)

  • 报错看不懂:先读最后一行错误类型(如 TypeErrorNameError),再回到对应代码行定位。
  • 不确定变量值:在关键位置临时 print(变量, type(变量)),先确认数据是否符合预期。
  • 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。

常见误区

  • 误区:忘记指定编码。
  • 正解:文本文件优先显式 utf-8