<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:', ’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’]

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