Python

29|使用 pathlib 管理文件路径

面向按顺序学习 Python 的初学者,本篇在第 27 篇知识上,帮助读者组合、检查和创建跨平台路径。

◉ 1.2k 字◌ 8 分钟♙ 郑在混

这套课程按知识依赖排列。本篇的前置知识是:第 27 篇。学完后,你应该能够组合、检查和创建跨平台路径。

本篇要解决的问题

本篇只处理“使用 pathlib 管理文件路径”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。

先看清一个容易误解的细节

路径由片段逐级组合

Path 使用 / 运算符逐级组合路径片段,得到新的路径对象;此时只是在描述位置,不代表文件已经存在。

核心概念

  • 路径对象把字符串拼接和平台分隔符细节封装起来。
  • exists()is_file()is_dir() 检查真实文件系统状态。
  • 创建目录前明确目标;mkdir(parents=True, exist_ok=True) 可创建必要父目录。

跟着示例运行

把下面代码保存到本课脚本并运行:

from pathlib import Path

project = Path.cwd()
data_dir = project / "data"
file_path = data_dir / "records.json"

print(project)
print(file_path.name)
print(file_path.suffix)
print(file_path.exists())

预期结果:

显示当前项目路径、records.json、.json 和存在状态

输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。

按执行顺序拆开看

  1. Path.cwd() 读取运行脚本时的当前目录,不一定等于脚本文件所在目录。
  2. 使用 / 组合路径片段只创建新的 Path 对象;直到读写或创建操作发生,文件系统才可能变化。

初学者容易混淆的地方

  • Path 对象存在当成真实文件存在,仍需调用 exists() 等方法确认。
  • 手工拼接 /\ 分隔符,降低跨平台可读性。

练习

  1. 组合 output/report.txt 路径但先不创建文件。
  2. 输出路径的父目录、文件名和扩展名。

练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。

本篇边界

本篇目标是组合、检查和创建跨平台路径。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。

相关文章

© 2026 郑在混知识库 · 已运行 46 天 · 豫ICP备2026037626号-1