pathlib模块--面向对象的文件系统路径标准

1 pathlib中的 path类

获取当前工作目录
Path.cwd()
注意P是大写
image
image

这个和os.getcwd()结果很类似


获取一个当前目录下的path对象
image

获取当前系统的home路径
image

根据给定参数的匹配模式,返回所有匹配到的文件
image
注意glob()返回的是一个生成器,是看不到具体内容的,可用sorted()或者list()或者for循环来查看具体的内容
image
glob()只会在指定的当前目录搜索
rglob则会在当前目录及其子目录下搜索

Path('pathlib_eg.py')
image
判断给定的文件或者目录是否存在
image

判断给定参数是否是一个正常的文件或者一个指向正常文件的符号链接
image
注意,这里如果路径或者文件不存在也是False

判断给定参数是否是一个正常的目录或者一个指向正常目录的符号链接
image
遍历目录,返回给定目录下所有对象的路径
image

读写文件 新建文件
read_text()
write_text()
toch()
open()
image
image

image

注意,read_text()和open()都能读取文件内容,但是read_text()是以字符串形式返回所有的文件内容,open()是返回一个对象,利用这个对象我们可以逐行输出或者其他形式输出文件内容

path.open(),和我们常用的open()内置函数功能是一样的

重命名
image

新建目录,在当前目录下新建
image
该函数功能与os模块的os.makedir() os.makedirs()一致

在上级目录下新建目录
image

Path类还有其他丰富的方法如
Path.chmod() 编辑文件权限
Path.group() 返回拥有此文件的用户组
Path.read_bytes() 以字节形式返回内容
等等

PurePath类

PurePath并不像Path那样会访问并操作系统里面的文件路径,我的理解是,它是用来构建一个符合当前系统的的路径,但是并不会访问和影响实际的路径
它下面有2个子类 PurePosixPath和PureWindowsPath
PurePosixPath用来构建non-Windows系统的文件路径
PureWindowsPath用来构建window系统的文件路径
PurePath构建的 路径在两个平台都可以使用,不知道该用哪一个子类时用PurePath就好
image
image
利用str() 可以返回一个标准的系统路径

方法和属性

返回给定路径的盘符
image

返回路径的根 root
image

返回路径的盘符和根
image

祖先路径及父路径
image

返回路径中的最后部分
image
等等
Path类也是PurePath类的子类 所以上述PurePath类的方法和属性对Path类对象也适用
在网上看了其他人的介绍,patnlib中大家用得比较多的还是Path类,PurePath类我也没搞懂具体在工作中有什么应用

相对于拥有相似功能的os模块,pathlib相对比较简单易用,不必操作os与操作系统进行交互
最后 看下pathlib的组成类
image

posted @   工作手记  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示