pathlib用path对象替代字符串拼接路径,跨平台兼容、操作直观可靠;支持/运算符拼接、内置exists()等方法、read_text()等i/o接口及resolve()解析路径。

用Path对象替代字符串拼接路径
传统用os.path.join()或字符串+操作拼路径,容易出错、跨平台兼容性差。pathlib用面向对象方式处理路径,更直观可靠。
直接导入并创建Path实例:
- from pathlib import Path
- p = Path(“/home/user/docs”) —— 自动适配系统分隔符(windows用
,linux/macos用/) - p / “report.txt” —— 用
/运算符拼子路径,比os.path.join(p, "report.txt")简洁自然
常用路径操作一步到位
Path对象自带大量实用方法,无需额外调用os模块:
- p.exists() 判断路径是否存在
- p.is_file() 或 p.is_dir() 判断类型
- p.parent 获取上一级目录;p.name 取文件名;p.suffix 取扩展名(如
.py) - list(p.iterdir()) 遍历当前目录下所有子项(返回Path对象列表)
- list(p.rglob(“*.py”)) 递归查找所有.py文件
读写文件不再依赖open()手动管理
Path对象提供简洁的I/O接口,适合小文件快速操作:
立即学习“Python免费学习笔记(深入)”;
- p.read_text(encoding=”utf-8″) —— 读取文本内容(自动编码解码)
- p.write_text(“hellonworld”, encoding=”utf-8″) —— 写入文本(会覆盖原文件)
- p.read_bytes() 和 p.write_bytes(…) 处理二进制数据
- 大文件或需精细控制(如逐行读、追加写),仍建议用
with p.open(...) as f:,它返回标准file对象
路径解析与跨平台适配要点
pathlib默认按当前系统规则解析路径,但要注意几个易错点: