PYTHON · 文件柜实验记录
一个字母,决定文件的命运
别死背 r / w / a / x。先选模式,再亲手读取或写入,看看旧内容到底保不保得住。
先判断三件事:
文件不存在怎么办?
旧内容会不会清空?
此刻允许读,还是允许写?
文件不存在怎么办?
旧内容会不会清空?
此刻允许读,还是允许写?
① 选择打开模式
with open("学习日志.txt", "r", encoding="utf-8") as f:
学习日志.txt
模式不是暗号,是一组行为开关
加号 + 只增加“可读可写”,不会撤销基础字母带来的清空、追加或必须存在等规则。
| 模式 | 主要目的 | 文件不存在 | 打开时清空 | 读 / 写 | 常见场景 |
|---|---|---|---|---|---|
| r | 只读 | 报错 | 否 | 读 | 读取配置、文本 |
| w | 从头重写 | 创建 | 是 | 写 | 生成全新报告 |
| a | 末尾追加 | 创建 | 否 | 写 | 日志、连续记录 |
| x | 只许新建 | 创建 | 不适用 | 写 | 防止误覆盖 |
| r+ | 读写已有文件 | 报错 | 否 | 读 + 写 | 原位更新(需管理指针) |
| w+ | 清空后读写 | 创建 | 是 | 读 + 写 | 重建后再校验 |
| a+ | 追加并可读 | 创建 | 否 | 读 + 写 | 追加记录后回看 |