12.1 打开与关闭文件
open() 函数
1 | # 基本语法 |
文件模式
| 模式 | 说明 |
|---|---|
r |
读取(默认) |
w |
写入(覆盖) |
a |
追加 |
x |
创建(存在则报错) |
b |
二进制模式 |
t |
文本模式(默认) |
+ |
读写模式 |
12.2 with 语句(推荐)
with 语句自动管理文件关闭,是最佳实践。
1 | # 读取文件 |
12.3 读取文件
读取方法
1 | with open("example.txt", "r") as f: |
逐行读取(推荐大文件)
1 | with open("large_file.txt", "r") as f: |
12.4 写入文件
write() 方法
1 | # 写入(覆盖) |
writelines() 方法
1 | lines = ["Line 1\n", "Line 2\n", "Line 3\n"] |
12.5 文件路径操作
pathlib 模块(推荐)
1 | from pathlib import Path |
os.path 模块
1 | import os |
12.6 JSON 文件处理
写入 JSON
1 | import json |
读取 JSON
1 | import json |
JSON 字符串
1 | import json |
12.7 CSV 文件处理
写入 CSV
1 | import csv |
读取 CSV
1 | import csv |
12.8 异常处理
文件操作可能抛出异常,需要处理。
1 | try: |
12.9 实用示例
统计文件行数
1 | def count_lines(filename): |
复制文件
1 | def copy_file(src, dst): |
查找文件中包含关键词的行
1 | def search_file(filename, keyword): |
12.10 本章小结
- 使用
with open()自动管理文件关闭 - 读取方法:
read()、readline()、readlines() - 写入方法:
write()、writelines() pathlib是现代路径操作推荐方式- JSON 使用
json.dump()和json.load() - CSV 使用
csv.writer和csv.reader - 文件操作需要异常处理
练习题
- 编写程序读取文件,统计单词出现频率
- 将字典数据保存为 JSON 文件,再读取并打印
- 创建 CSV 文件存储学生成绩,计算平均分
- 编写程序合并两个文本文件的内容