当前位置:网站首页 > 编程语言 > 正文

Pathlib文档(pathlib获取文件名)



是 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(),删除文件。
 

(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']

到此这篇Pathlib文档(pathlib获取文件名)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 阻塞队列最多几个进程(阻塞队列最多几个进程啊)2025-02-13 19:45:04
  • 最终幻想7战斗系统攻略(最终幻想7全战斗报告)2025-02-13 19:45:04
  • 高血压危险分层图片(高血压危险分层的意义是什么)2025-02-13 19:45:04
  • nvme与sata(nvme与sata接口的区别)2025-02-13 19:45:04
  • 划词翻译插件有没有破解版的啊(划词翻译插件有没有破解版的啊)2025-02-13 19:45:04
  • 瓦罗兰特代码84(瓦罗兰特代码怎么用)2025-02-13 19:45:04
  • windows的基本操作(windows的基本操作有什么)2025-02-13 19:45:04
  • 广度优先搜索策略流程(广度优先搜索一般使用什么结构)2025-02-13 19:45:04
  • 如何查看域名解析的ip(怎么查看域名解析的ip)2025-02-13 19:45:04
  • 定位开启无法获取定位(定位打开了无法获取位置)2025-02-13 19:45:04
  • 全屏图片