Python 提供了丰富的文件操作功能,适合处理文本/二进制数据。以下是核心知识点:
🧩 基本操作流程
- 打开文件:使用
open()
函数,需指定路径和模式file = open("example.txt", "r") # 📁 打开文件
- 读写数据:通过文件对象进行操作
- 读取:
file.read()
/file.readlines()
- 写入:
file.write()
/file.writelines()
- 读取:
- 关闭文件:使用
file.close()
或with
语句(推荐)with open("data.csv", "w") as f: # ✅ 安全关闭文件 f.write("Hello, World!")
📌 常用文件模式
模式 | 说明 | 📎 示例 |
---|---|---|
r |
只读模式(默认) | open("notes.txt", "r") |
w |
写入模式(会覆盖原文件) | open("output.txt", "w") |
a |
追加模式 | open("log.txt", "a") |
b |
二进制模式 | open("image.jpg", "rb") |
+ |
读写模式 | open("db.txt", "r+") |
💡 提示:使用
with
语句可自动管理文件关闭,推荐用于生产代码
⚠️ 异常处理
文件操作建议包裹在 try-except
块中:
try:
with open("config.json", "r") as f:
data = json.load(f)
except FileNotFoundError:
print("❌ 文件未找到,请检查路径")
except json.JSONDecodeError:
print("❌ 文件内容格式错误")
🚀 高级技巧
- 逐行读取:
for line in file
更节省内存 - 上下文管理器:
with open(...) as f
自动处理资源释放 - 文件定位:
file.seek(offset)
控制读写位置 - 模式组合:
"r+"
可读可写,"a+"
可追加可读
📦 实践案例
- 日志记录:使用
a
模式追加内容 - 配置文件读取:
r
模式加载 JSON/YAML 数据 - 数据备份:
w
模式复制数据库文件
📌 注意:操作前请确保有权限访问目标文件路径,避免出现 PermissionError
😢