admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:易游代理入口)

Python路径操作模块pathlib

1 pathlib简介

pathlib是跨平台的、面向对象的路径操作模块,可适用于不同的操作系统,其操作对

象是各种操作系统中使用的路径(包括绝对路径和相对路径),pathlib有两个主要的类,

分别为PurePath和Path。

pathlib模块主类继承关系图

1)PurePath

PurePath访问实际文件系统的“纯路径”,只负责对路径字符串执行操作。PurePath

有两个子类,即PurePosixPath和PathWindowsPath,前者用于操作UNIX(包括 Mac OS

X)风格的路径,后者用于操作Windows风格的路径。

2)Path

Path访问实际文件系统的“真正路径”,Path对象可用于判断对应的文件是否存在、

是否为文件、是否为目录等。有两个子类,即PosixPath和WindowsPath,前者用于操作

UNIX(包括 Mac OS X)风格的路径,后者用于操作Windows风格的路径。

1

3)PurePath和Path的区别

Path 是 PurePath 的子类,除了支持 PurePath 的各种操作、属性和方法之外,

还会真正访问底层的文件系统,包括判断 Path 对应的路径是否存在,获取 Path 对应

路径的各种属性(如是否只读、是文件还是文件夹等),甚至可以对文件进行读写。

PurePath 和 Path 最根本的区别在于,PurePath 处理的仅是字符串,而 Path 则

会真正访问底层的文件路径,因此它提供了属性和方法来访问底层的文件系统。

4)UNIX 和 Windows 风格路径区别

UNIX 风格的路径和 Windows 风格路径的主要区别在于根路径和路径分隔符,UNIX

风格路径的根路径是斜杠(/),而 Windows 风格路径的根路径是盘符(c:);UNIX

风格的路径的分隔符是斜杠(/),而 Windows 风格路径的分隔符是反斜杠()。

注意:

考虑到操作系统的不同,在使用 PurePath 类时,如果在 UNIX 或 Mac OS X 系统

上使用 PurePath 创建对象,该类的构造方法实际返回的是 PurePosixPath 对象;反

之,如果在 Windows 系统上使用 PurePath 创建对象,该类的构造方法返回的是

PureWindowsPath 对象。

考虑到操作系统的不同,Path 类的使用同 PurePath 类。

2 pathlib与os的区别

在Python 3.4之前,涉及路径相关操作,都用os模块解决,尤其是这个

子模块非常有用。在Python 3.4之后,pathlib成为标准库模块,其使用面向对象的

编程方式来表示文件系统路径,丰富了路径处理的方法。

1)pathlib优势

相对于传统的os及,pathlib具体如下优势:

pathlib实现统一管理,解决了传统操作导入模块不统一问题;

pathlib使得在不同操作系统之间切换非常简单;

pathlib是面向对象的,路径处理更灵活方便,解决了传统路径和字符串并不等

价的问题;

pathlib简化了很多操作,简单易用。

2)pathlib和os常用操作对比

通过常用路径操作的对比,可以更深刻理解pathlib和os的区别,便于在实际操

作中做对照,也便于进行使用替代,详细对比如下:

2


本文标签: 路径 操作 模块 风格 文件