💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
- 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
- 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
- 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
- 一.`pathlib`模块简介
- 二.基本用法
- 1.创建`Path`对象
- 2.路径拼接
- 3.路径属性
- 4.路径方法
- 三.实例分析
- 四.应用场景
- 五.总结
一.pathlib模块简介
pathlib模块是 Python 标准库的一部分,它将文件系统路径抽象为对象,从而提供了一种更加直观和易于理解的方式来处理文件路径。pathlib模块中的Path类是核心,它封装了文件路径,并提供了许多有用的方法和属性来操作这些路径。

二.基本用法
1.创建Path对象
创建Path对象非常简单,可以直接使用字符串或者已有的Path对象作为参数:
from pathlib import Path
p = Path("/home/user")
print(p)
2.路径拼接
使用/运算符可以轻松地将路径组合在一起,无论平台如何,/运算符总是正确的分隔符:
p = Path("/home/user") / "projects"
print(p)
3.路径属性
Path对象提供了丰富的属性来访问路径的不同部分:
p = Path("/home/user/projects")
print(p.name) # 输出:projects
print(p.suffix) # 输出:项目文件的扩展名,如果没有则为空字符串
print(p.stem) # 输出:去掉扩展名的文件名
print(p.parent) # 输出:父目录路径
4.路径方法
Path对象还提供了许多方法来执行常见的文件系统操作,如:
exists():检查路径是否存在。is_file()和is_dir():检查路径是否是文件或目录。glob(pattern):使用 Unix shell 样式的模式匹配来查找路径。resolve():解析路径,将其转换为绝对路径。
三.实例分析
现在,让我们回到最初的问题,深入分析以下代码片段:
search_path = Path(self._root_dir) / (base_dir or "")
这行代码是pathlib模块的一个典型用法,它展示了如何使用Path对象和条件表达式来构建一个搜索路径。下面是对这行代码的逐部分解释:
-
Path(self._root_dir):这里创建了一个Path对象,其路径由实例变量self._root_dir指定。这个变量代表了类的实例所关联的根目录路径。 -
/:这是Path对象的路径连接运算符,用于将self._root_dir与base_dir连接起来。 -
(base_dir or ""):这是一个 Python 的条件表达式,用于确定要连接的第二个路径部分。如果base_dir是None或者任何被认为是False的值(如空字符串、0 等),则表达式的结果将是一个空字符串。这样,即使base_dir未定义或为None,代码也不会抛出错误。
通过这种方式,search_path变量将存储一个由self._root_dir和base_dir(如果提供了的话)组合而成的新路径。如果base_dir是None或未提供,search_path将只包含self._root_dir的值。
四.应用场景
pathlib模块的应用非常广泛,它可以用于:
- 文件搜索:通过
glob方法匹配特定模式的文件。 - 目录遍历:使用
rglob方法递归地查找目录中的文件。 - 文件操作:通过
Path.open()方法打开文件,或者使用Path.write_text()和Path.read_text()方法读写文本文件。 - 路径解析:使用
resolve()方法将相对路径转换为绝对路径。

五.总结
pathlib模块为 Python 开发者提供了一种强大且易于使用的方式来处理文件路径。通过面向对象的方法,它简化了路径操作,减少了错误,并提高了代码的可读性和可维护性。无论是简单的路径拼接,还是复杂的文件系统遍历,pathlib都是一个不可或缺的工具。
觉得有用的话点个赞
👍🏻呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙





















