pathlib模块--面向对象的文件系统路径标准
1 pathlib中的 path类
获取当前工作目录
Path.cwd()
注意P是大写
这个和os.getcwd()结果很类似
获取一个当前目录下的path对象
获取当前系统的home路径
根据给定参数的匹配模式,返回所有匹配到的文件
注意glob()返回的是一个生成器,是看不到具体内容的,可用sorted()或者list()或者for循环来查看具体的内容
glob()只会在指定的当前目录搜索
rglob则会在当前目录及其子目录下搜索
Path('pathlib_eg.py')
判断给定的文件或者目录是否存在
判断给定参数是否是一个正常的文件或者一个指向正常文件的符号链接
注意,这里如果路径或者文件不存在也是False
判断给定参数是否是一个正常的目录或者一个指向正常目录的符号链接
遍历目录,返回给定目录下所有对象的路径
读写文件 新建文件
read_text()
write_text()
toch()
open()
注意,read_text()和open()都能读取文件内容,但是read_text()是以字符串形式返回所有的文件内容,open()是返回一个对象,利用这个对象我们可以逐行输出或者其他形式输出文件内容
path.open(),和我们常用的open()内置函数功能是一样的
重命名
新建目录,在当前目录下新建
该函数功能与os模块的os.makedir() os.makedirs()一致
在上级目录下新建目录
Path类还有其他丰富的方法如
Path.chmod() 编辑文件权限
Path.group() 返回拥有此文件的用户组
Path.read_bytes() 以字节形式返回内容
等等
PurePath类
PurePath并不像Path那样会访问并操作系统里面的文件路径,我的理解是,它是用来构建一个符合当前系统的的路径,但是并不会访问和影响实际的路径
它下面有2个子类 PurePosixPath和PureWindowsPath
PurePosixPath用来构建non-Windows系统的文件路径
PureWindowsPath用来构建window系统的文件路径
PurePath构建的 路径在两个平台都可以使用,不知道该用哪一个子类时用PurePath就好
利用str() 可以返回一个标准的系统路径
方法和属性
返回给定路径的盘符
返回路径的根 root
返回路径的盘符和根
祖先路径及父路径
返回路径中的最后部分
等等
Path类也是PurePath类的子类 所以上述PurePath类的方法和属性对Path类对象也适用
在网上看了其他人的介绍,patnlib中大家用得比较多的还是Path类,PurePath类我也没搞懂具体在工作中有什么应用
相对于拥有相似功能的os模块,pathlib相对比较简单易用,不必操作os与操作系统进行交互
最后 看下pathlib的组成类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南