1. 文件处理的三类典型场景
在日常开发中,我们最常遇到的文件处理需求主要集中在这三类格式:纯文本文件(TXT/LOG)、表格数据文件(CSV/TSV)和网页文件(HTML)。每种格式都有其独特的结构特征和解析难点:
- 文本文件:结构松散但存在隐式规律,常见于日志记录、配置文件等场景
- CSV文件:行列结构明确但存在分隔符冲突、编码问题等陷阱
- HTML文件:半结构化文档,需要处理标签嵌套和属性提取
Python的标准库和主流第三方库为这些场景提供了完整的工具链。下面通过具体案例演示如何用Python优雅地解决这三类文件处理需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文本文件处理实战
2.1 基础读写操作
文本文件处理的核心是正确管理文件对象。推荐使用with语句确保资源自动释放:
python复制# 最佳实践:使用上下文管理器
with open('server.log', 'r', encoding='utf-8') as f:
for line in f: # 逐行读取,内存友好
process(line)
关键细节:始终显式指定编码参数(如utf-8),避免因系统默认编码不同导致的乱码问题
2.2 高级文本处理技巧
对于复杂文本分析,可以结合正则表达式和生成器:
python复制import re
def extract_errors(log_file):
pattern = re.compile(r'ERROR: (.+?) at (.+)')
with open(log_file) as f:
for line in f:
if match := pattern.search(line):
yield match.groups() # 使用生成器节省内存
# 使用示例
for error in extract_errors('app.log'):
print(f"错误类型:{error[0]},位置:{error[1]}")
性能优化技巧:
- 大文件处理使用
iter和生成器 - 频繁匹配操作预编译正则表达式
- 考虑使用内存映射(m
