除了对这个问题的答案之外,我还试图学习如何理解Official Python Documentation。
我了解到Path
继承自PurePath
,但是我无法理解何时使用PurePath
和Path
而不是其中一个。 >
在list of alternatives中,大多数建议Path
,而有些人建议Pathlib
。
我正在看os.path.dirname()
,那里他们在建议PurePath.parent
。但是当我运行pathlib.PurePath(file).parent.name
和pathlib.Path(file).parent.name
时,得到的结果是相同的。
所以,为什么他们大多数使用PurePath和Path?他们为什么不建议使用Path.parent
而不是PurePath.parent
。
答案 0 :(得分:6)
pathlib documentation中的第一段指出:
路径类分为纯路径和 concrete path ,纯路径在没有I / O的情况下提供纯计算操作,而具体路径从纯路径继承但也提供I / O操作。
纯路径对象提供了实际上不访问文件系统的路径处理操作。
具体路径是纯路径类的子类。除了前者( pure path )提供的操作外,它们还提供了对路径对象进行系统调用的方法。
总而言之,PurePath
的作用类似于字符串(删除路径的一部分,与其他路径连接,获取父对象等)。要删除目录,搜索目录,创建文件或写入文件,必须使用Path
对象。