Python 中 pathlib-Path vs os-path 速查表

总体对比

功能 pathlib.Path(推荐) os.path(传统方式)
编程风格 面向对象 基于字符串
路径拼接 使用 / 运算符 使用 os.path.join()
跨平台性 自动处理 Windows/Unix 差异 依赖字符串处理
文件操作 内置方法(如 .read_text()) 需配合 open()、os
可读性 更高 较低
引入版本 Python 3.4+ Python 早期版本

常用操作对比表

  1. 创建路径对象
操作 pathlib os.path
创建路径 p = Path("data/file.txt") 字符串:p = "data/file.txt"
  1. 路径拼接
操作 pathlib os.path
拼接路径 p = Path("data") / "file.txt" p = os.path.join("data", "file.txt")
  1. 检查路径
操作 pathlib os.path
是否存在 p.exists() os.path.exists(p)
是否文件 p.is_file() os.path.isfile(p)
是否目录 p.is_dir() os.path.isdir(p)
  1. 获取路径组成部分
操作 pathlib os.path
文件名 p.name os.path.basename(p)
父目录 p.parent os.path.dirname(p)
后缀 p.suffix os.path.splitext(p)[1]
文件名(无后缀) p.stem os.path.splitext(os.path.basename(p))[0]
  1. 文件读写
操作 pathlib os.path
读文本 p.read_text() open(p).read()
写文本 p.write_text("hello") open(p, "w").write("hello")
读字节 p.read_bytes() open(p, "rb").read()
  1. 目录操作
操作 pathlib os.path + os
创建目录 p.mkdir() os.mkdir(p)
递归创建 p.mkdir(parents=True) os.makedirs(p)
遍历目录 for f in p.iterdir(): for f in os.listdir(p):
  1. 路径匹配(glob)
操作 pathlib os.path + glob
匹配文件 p.glob("*.txt") glob.glob("*.txt")