是 Python 标准库中的一个模块,专门用于简化文件系统路径的操作。它在 Python 3.4 引入,是对传统字符串路径操作的替代方案。 使用面向对象的方式,使得文件和目录路径处理更加直观和高效。
pathlib主要类及作用 类说明是否支持I/O操作 Path跨平台路径类,会自动 选择 或 是PurePath抽象路径类,仅处理路径语法否PurePosixPath纯 POSIX 风格的路径类,用于路径字符串操作否PureWindowsPath纯 Windows 风格的路径类,用于路径字符串操作否PosixPathPOSIX 文件路径类,仅在 POSIX 系统上使用是WindowsPathWindows 文件路径类,仅在 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(),删除文件。
到此这篇Pathlib文档(pathlib获取文件名)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!(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']
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/13113.html