Python 文件操作进阶:路径处理、压缩、临时文件完全指南
Python文件操作不只是open()和read()。pathlib是Python3.4引入的现代路径处理模块,比os.path更直观。
pathlib:现代路径处理
from pathlib import Path创建路径对象。p.exists()检查存在性,p.mkdir(parents=True, exist_ok=True)创建目录,p.unlink()删除文件。rglob方法递归遍历目录。
文件压缩
zipfile模块处理ZIP压缩:with zipfile.ZipFile('archive.zip', 'w') as zf创建压缩文件,zf.write()添加文件,zf.extractall()解压。tarfile处理tar.gz等格式。
临时文件
tempfile.NamedTemporaryFile创建临时文件,delete=True自动清理。tempfile.TemporaryDirectory创建临时目录,退出with块自动删除所有内容。
安全读取大文件
不要用f.read()一次性读取大文件,应该逐行读取或使用itertools.islice跳过特定行。os.replace保证原子替换,比os.rename更安全。
常见问题
Q1: open()的r/w/a模式区别?r只读,w只写清空,a追加,r+读写。
Q2: 如何避免路径遍历漏洞?永远不要将用户输入直接拼进文件路径,使用pathlib解析后检查是否在允许目录内。
延伸阅读
- Python JSON处理
- Python pathlib完全指南
- Python文件安全
---
作者:小马 | 绍大技术网 shaoda.net