Python 3.x 为什么pathlib同时具有PurePath和;路径

Python 3.x 为什么pathlib同时具有PurePath和;路径,python-3.x,pathlib,Python 3.x,Pathlib,除了回答这个问题,我还试图学习如何理解这个问题 我理解Path继承自PurePath,但我无法理解何时使用哪个以及为什么存在PurePath&Path 在中,大多数人建议使用Path,而一些人建议使用Pathlib 我正在看os.path.dirname()他们建议的PurePath.parent。但是当我运行pathlib.PurePath(file).parent.name和pathlib.Path(file).parent.name时,我得到了相同的结果 那么,为什么他们对一些人使用Pur

除了回答这个问题,我还试图学习如何理解这个问题

我理解
Path
继承自
PurePath
,但我无法理解何时使用哪个以及为什么存在
PurePath
&
Path

在中,大多数人建议使用
Path
,而一些人建议使用
Pathlib

我正在看
os.path.dirname()
他们建议的
PurePath.parent
。但是当我运行
pathlib.PurePath(file).parent.name
pathlib.Path(file).parent.name
时,我得到了相同的结果

那么,为什么他们对一些人使用
PurePath
,而对大多数人使用
Path
。为什么他们不建议使用
Path.parent
而不是
PurePath.parent

各州的第一段:

路径类分为纯路径,纯路径提供无需I/O的纯计算操作;和具体路径,具体路径继承自纯路径,但也提供I/O操作

纯路径对象提供的路径处理操作实际上并不访问文件系统

具体路径是纯路径类的子类。除了前者提供的操作(纯路径),它们还提供对路径对象进行系统调用的方法



总之,
PurePath
的行为类似于字符串(删除部分路径,加入另一个路径,获取父路径等)。要删除目录、搜索目录、创建文件或写入文件,您必须使用
Path
对象。

PurePath
是一组函数,它可以根据您提供的路径计算出问题。它不需要查找任何内容<代码>路径是需要在文件系统上进行实际查找的一组函数
Path
可以继承
PurePath
函数,因为即使这样它们仍然可以工作。
.parent
不需要进行任何查找,因为它只需要使用由/或\分隔的姓氏。因此它符合
PurePath
中的条件。如果它在
PurePath
中,您可以选择使用
Path