前言
哈喽大家好,我是知道。
我们都知道,在书籍中都有章节,每个章节又有细分小标题,这样在我们查阅时,需要看某一章的具体细节很快就能找到。在操作系统中也一样,文件也需要有组织地存放,所以会分出来目录,每个目录存放的文件也不宜过多,否则在打开目录的时候也会很慢。在windows中叫做文件夹,可以将目录或者文件组织到一起,来进行分层管理,linux中也需要分层管理,linux只有根目录,linux中一切皆文件,这种层次结构叫做根文件系统,一切从根开始。python3.4版本之前,路径操作使用的是内置的os.path模块,从3.4版本开始,建议使用pathlib模块,可以通过Path对象来进行操作路径,相对来说更加灵活、方便。
在windows中路径由盘符、目录名(基名之前的路径)和基名(路径中最后一个文件或子目录名)组成,例如;在linux中,路径由目录名和基名组成,例如。windows中路径分隔符缺省为反斜杠,linux默认为斜杠。路径又分为绝对路径和相对路径,从根开始的路径称为绝对路径,相对于某个文件位置的路径称为相对路径,其中 . 代表当前文件所在的目录,**..** 代表当前文件所在的上级目录。
2. pathlib
在python中,pathlib是比较专业的操作路径的内置模块,可以通过面向对象的方式来操作路径,当然,底层其实大部分还是通过os模块进行调用的,只不过是有了进一步封装,使用起来更加方便灵活。
2.1 初始化与拼接
小结:
Path()初始化时只接收字符串类型,不传参数或者参数为**. ""**,则表示当前路径;拼接路径时,可以通过初始化方式、joinpath方法、/ 拼接进行操作,规则均是按照最后一个带根路径的字符路径为拼接首级路径,其余的均舍弃,如果都不带根路径,则拼接的最终路径不带根路径;joinpath方法和 / 运算符重载方法不仅可以拼接字符串,还可以拼接Path对象,使用 / 运算符重载拼接路径时规则如下:path / str => path
str / path => path
path / path => path
2.2 路径组成
小结:
2.3 全局方法
只要是Path对象均可使用。
2.4 常用判断
注:当路径不存在时,均返回False。
2.5 目录的创建删除和文件的创建
2.6 通配符
通配符一般用于在目录中寻找文件,有以下两个方法,使用更加灵活。
模式符号:
2.8 文件操作
通过Path对象操作文件时,因为每次进行文件操作时底层都会调用文件的open打开操作,所以当进行多次操作时,会有额外的开销,不推荐使用。
当进行文件操作时,还是推荐按照操作文件的方法使用,open方法已经兼容了Path对象,不过最好还是做一下类型转换str()
3. 总结
通过本篇文章,我们对pathlib模块进行了知识梳理,掌握了它的基本用法,包括初始化,路径拼接,全局方法,判断方法,目录的创建删除,通配符是做什么的以及pathlib在文件操作中的应用等。希望上述例子大家能手动都敲一遍,然后参照文章总结为自己的知识,这样才能更好地吸收。同时,也欢迎大家能够随时指正文章中总结不恰当的地方,共同进步。我是知道,大家下期再见。
领取专属 10元无门槛券
私享最新 技术干货