2025年Pathlib文档(pathlib获取文件名)

Pathlib文档(pathlib获取文件名)blockquote 是 Python 标准库中的一个模块 专门用于简化文件系统路径的操作 它在 Python 3 4 引入 是对传统字符串路径操作的替代方案 使用面向对象的方式 使得文件和目录路径处理更加直观和高效 pathlib 主要类及作用 类 说明 是否支持 I O 操作 Path 跨平台路径类 会自动选择 或 是 PurePath 抽象路径类 仅处理路径语法 否 blockquote

大家好,我是讯享网,很高兴认识大家。



 <blockquote> 

讯享网

是 Python 标准库中的一个模块,专门用于简化文件系统路径的操作。它在 Python 3.4 引入,是对传统字符串路径操作的替代方案。 使用面向对象的方式,使得文件和目录路径处理更加直观和高效。

pathlib主要类及作用 类 说明 是否支持I/O操作 Path 跨平台路径类,会自动选择 或 是 PurePath 抽象路径类,仅处理路径语法 否 PurePosixPath 纯 POSIX 风格的路径类,用于路径字符串操作 否 PureWindowsPath 纯 Windows 风格的路径类,用于路径字符串操作 否 PosixPath POSIX 文件路径类,仅在 POSIX 系统上使用 是 WindowsPath Windows 文件路径类,仅在 Windows 系统上使用 是

说明:主要用到Path类,其他不介绍

1.  Path

说明: 是 中的最重要的类,也是大多数情况下会使用的类。它是一个表示路径的类,既可以代表文件路径也可以代表目录路径

作用:

  • 提供文件的基本操作
  • 提供文件和目录的常见操作方法,如创建、删除、读取和写入、复制等等

应用场景:

  • 文件路径管理: 简化了文件路径的拼接、解析、验证等操作。
  • 跨平台开发: 由于 自动适配不同操作系统的路径分隔符,代码可在不同平台上                         运行而无需修改路径格式。
  • 文件内容读取和写入: 通过简洁的接口实现文件的快速读写。

(1)获取目录与目录拼接

  • Path.cwd(),返回文件当前所在目录;
  • Path.home(),返回电脑用户的目录。
  • Path.joinpath()  拼接目录或者文件路径
讯享网

结果:

C:Users16218
D:YOLOdata

D:YOLOdata1111
D:YOLOdata1111



(2)路径处理

说明:获取路径的不同部分、或不同字段等内容,用于后续的路径处理,如拼接路径、修改文件名、更改文件后缀等

Path属性 

name 获取文件名 suffix 获取文件拓展名 stem 获取文件名,不含拓展名 parent 获取父级目录 parts 返回路径的各个部分组成的元祖 suffixes 获取文件拓展名列表 anchor 返回根目录

讯享网

结果:

293.jpg
D:YOLOdata
.jpg
[‘.jpg’]
293
D:
(‘D:&#39;, ’YOLO‘, ’data‘, ’293.jpg‘)





(3)路径判断

  • Path.exists(),判断 Path 路径是否是一个已存在的文件或文件夹;
  • Path.is_dir(),判断 Path 是否是一个文件夹;
  • Path.is_file(),判断 Path 是否是一个文件。

作用:一般可判断文件夹路径是否正确

 
    

结果:文件路径不正确

讯享网

结果:

(4)路径创建与删除

  • Path.mkdir(),创建文件夹;
  • Path.rmdir(),删除文件夹,文件夹必须为空;
  • Path.unlink(),删除文件。
 
   

(5)路径匹配查找

  • Path.iterdir(),查找文件夹下的所有文件,返回的是一个生成器类型
  • Path.glob(pattern),查找文件夹下所有与 pattern 匹配的文件,返回的是一个生成器类型;
  • Path.rglob(pattern),查找文件夹下所有子文件夹中与 pattern 匹配的文件,返回的是一个生成器类型

与 的区别—–其语法类似

  • :只搜索当前目录中的文件和目录,不涉及子文件夹
  • :递归搜索目录树下所有层级的文件和目录。

总结

1. Path.iterdir()查找文件夹下的所有文件,不包含子文件夹

2. Path.glob(pattern),查找文件夹下所有与 pattern 匹配的文件,不包含子文件夹

3. Path.rglob(pattern),查找文件夹下所有子文件夹中与 pattern 匹配的文件

Path.iterdir()


讯享网

讯享网

说明:并不能遍历文件夹下的子文件夹

Path.rglob(pattern)

 说明:Path.rglob(pattern),查找文件夹下所有子文件夹中与 pattern 匹配的文件,返回的是            一个生成器类型,用于搜索整个目录树(也就是文件夹,子文件夹内涵的所有文件)

语法:Path.rglob(pattern)

pattern 说明 ’ 匹配任意字符,通常用于匹配所有文件或目录 ’.txt‘ 匹配所有以 结尾的文件 file?.txt’ 匹配文件名类似于 、 等文件,其中 代表一个任意字符。 ‘subdir/*’ 匹配子目录 中的所有文件,但不递归

返回一个生成器,生成器返回的是符合条件的 对象,可以逐个迭代  而不一次性加载所有匹配项,非常适合处理大目录

示例用法1:匹配所有文件和子目录——–可打印输出里面所有文件

 
    

示例用法2:匹配自定义文件——-也就是遍历文件夹下所有内容,匹配到自己的自定义文                          件,例如以(.txt)结尾的文件

讯享网

示例用法3:匹配特定名称的文件——例如要查找名为 的文件

 
    

示例用法4:匹配特定格式的文件名

讯享网

示例用法5:匹配特定子目录中的文件——-匹配 子目录下的所有文件,但不再递归                        进入 内部

 
    

示例用法6:遍历文件夹下的所有内容,打印出文件有多少种文件后缀

讯享网

结果:[‘’, ‘.mp4’, ‘.py’, ‘.txt’, ‘.jpg’, ‘.iml’, ‘.xml’]


小讯
上一篇 2025-04-25 07:46
下一篇 2025-05-17 09:19

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/204192.html