pathlib 模块的操作对象是各种操作系统中使用的路径(例如指定文件位置的路径,包括绝对路径和相对路径)。这里简单介绍一下图 1 中包含的几个类的具体功能:图 1 中,箭头连接的是有继承关系的两个类,以 PurePosixPath 和 PurePath 类为例,PurePosizPath 继承自 PurePath,即前者是后者的子类。
注意,UNIX 操作系统和 Windows 操作系统上,路径的格式是完全不同的,主要区别在于根路径和路径分隔符,UNIX 系统的根路径是斜杠(/),而 Windows 系统的根路径是盘符(C:);UNIX 系统路径使用的分隔符是斜杠(/),而 Windows 使用的是反斜杠(\)。
例如,在 Windows 系统上执行如下语句:当然,我们完全可以直接使用 PurePosixPath 类或者 PureWindowsPath 类创建指定操作系统使用的类对象。
from pathlib import * # 创建PurePath,实际上使用PureWindowsPath path = PurePath('my_file.txt') print(type(path))程序执行结果为:
<class 'pathlib.PureWindowsPath'>
显然,在 Windows 操作系统上,使用 PurePath 类构造函数创建的是 PureWindowsPath 类对象。读者可自行尝试在 UNIX 或者 Mac OS X 系统上执行该程序。
from pathlib import * # 创建PurePath,实际上使用PureWindowsPath path = PurePath('http:','c.biancheng.net','python') print(path)程序执行结果为:
http:\c.biancheng.net\python
from pathlib import * path = PurePosixPath('http:','c.biancheng.net','python') print(path)程序执行结果为:
http:/c.biancheng.net/python
from pathlib import * path = PurePath() print(path) path = PurePath('.') print(path)程序执行结果为:
.
.
from pathlib import * path = PurePath('C://','D://','my_file.txt') print(path)程序执行结果为:
D:\my_file.txt
注意,对于 Windows 风格的路径,只有盘符(如 C、D等)才能算根路径。
from pathlib import * path = PurePath('C://./my_file.txt') print(path)程序执行结果为:
C:\my_file.txt
from pathlib import * # Unix风格的路径区分大小写 print(PurePosixPath('C://my_file.txt') == PurePosixPath('c://my_file.txt')) # Windows风格的路径不区分大小写 print(PureWindowsPath('C://my_file.txt') == PureWindowsPath('c://my_file.txt'))程序执行结果为:
False
True
from pathlib import * path = PurePosixPath('C://') print(path / 'my_file.txt')程序执行结果为:
C:/my_file.txt
from pathlib import * # Unix风格的路径区分大小写 path = PurePosixPath('C://','my_file.txt') print(str(path))程序执行结果为:
C:/my_file.txt
类实例属性和实例方法名 | 功能描述 |
---|---|
PurePath.parts | 返回路径字符串中所包含的各部分。 |
PurePath.drive | 返回路径字符串中的驱动器盘符。 |
PurePath.root | 返回路径字符串中的根路径。 |
PurePath.anchor | 返回路径字符串中的盘符和根路径。 |
PurePath.parents | 返回当前路径的全部父路径。 |
PurPath.parent | 返回当前路径的上一级路径,相当于 parents[0] 的返回值。 |
PurePath.name | 返回当前路径中的文件名。 |
PurePath.suffixes | 返回当前路径中的文件所有后缀名。 |
PurePath.suffix | 返回当前路径中的文件后缀名。相当于 suffixes 属性返回的列表的最后一个元素。 |
PurePath.stem | 返回当前路径中的主文件名。 |
PurePath.as_posix() | 将当前路径转换成 UNIX 风格的路径。 |
PurePath.as_uri() | 将当前路径转换成 URL。只有绝对路径才能转换,否则将会引发 ValueError。 |
PurePath.is_absolute() | 判断当前路径是否为绝对路径。 |
PurePath.joinpath(*other) | 将多个路径连接在一起,作用类似于前面介绍的斜杠(/)连接符。 |
PurePath.match(pattern) | 判断当前路径是否匹配指定通配符。 |
PurePath.relative_to(*other) | 获取当前路径中去除基准路径之后的结果。 |
PurePath.with_name(name) | 将当前路径中的文件名替换成新文件名。如果当前路径中没有文件名,则会引发 ValueError。 |
PurePath.with_suffix(suffix) | 将当前路径中的文件后缀名替换成新的后缀名。如果当前路径中没有后缀名,则会添加新的后缀名。 |
对于表 1 中的这些实例属性和实例方法的用法,这里不再举例演示,有兴趣的读者可自行尝试它们的功能。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有