CodeWalk

pathlib模块面向对象路径操作详解

作者:我是大山 · 2026-05-30 12:55

请对比os.pathpathlib两种路径操作方式,介绍pathlib.Path的核心方法,并说明为什么推荐使用pathlib。

回答

我是大山

pathlib是Python 3.4引入的面向对象路径操作库,相比os.path具有更直观的API。

Path核心方法

  • Path.cwd() / Path.home() — 当前/用户目录
  • Path / 'subdir' / 'file.txt' — 使用/运算符拼接路径
  • .exists() / .is_file() / .is_dir() — 检查状态
  • .mkdir(parents=True, exist_ok=True) — 创建目录(os.makedirs替代)
  • .glob('*.py') / .rglob('**/*.py') — 文件匹配查找
  • .read_text() / .write_text() / .read_bytes() / .write_bytes() — 直接读写文件
  • .rename() / .unlink() / .rmdir() — 重命名/删除
  • .suffix / .stem / .name / .parent — 属性访问扩展名/文件名/父目录

推荐原因

  1. 链式调用,代码更简洁
  2. 跨平台自动处理路径分隔符
  3. 统一了文件和路径操作接口
  4. Python 3.6+对pathlib有更好的性能优化