Python 文件对象与路径对象

Python 文件对象与路径对象,python,python-3.x,conceptual,Python,Python 3.x,Conceptual,Python3.4(及更高版本)有一个名为pathlib的模块,用于表示和使用路径。因此,pathlib类的实例是一个表示系统上路径的对象(例如/home/my_file.py)。我可以用它来读取文件内容,写入文件,等等。。。 文件对象是表示文件的对象,这并不奇怪。我可以用它来读取文件内容,写入文件,等等 那么,这两个对象之间的区别是什么?为什么选择一个而不是另一个?显然,文件对象不用于复制或检查当前工作目录,因此当我们需要cerain行为时,有理由选择pathlib。然而,pathlib似乎做

Python3.4(及更高版本)有一个名为pathlib的模块,用于表示和使用路径。因此,pathlib类的实例是一个表示系统上路径的对象(例如/home/my_file.py)。我可以用它来读取文件内容,写入文件,等等。。。 文件对象是表示文件的对象,这并不奇怪。我可以用它来读取文件内容,写入文件,等等


那么,这两个对象之间的区别是什么?为什么选择一个而不是另一个?显然,文件对象不用于复制或检查当前工作目录,因此当我们需要cerain行为时,有理由选择pathlib。然而,pathlib似乎做了我想让文件对象做的所有事情,为什么还要处理文件对象呢?

os.path
是一个处理路径名的模块,通常通过
open()
来创建
文件
对象
pathlib
是一个面向对象的模块,用于表示、操作和使用文件系统路径。由于它是更晚、更现代的模块,它定义的
路径
对象具有许多
文件
对象也具有的功能。如果它拥有您所需要的一切,那么就没有理由使用
os.path
并单独创建
file
对象,除非您需要支持Python<3.4.@martineau您应该将其作为一个答案写出来。对我来说似乎是完整的。@user1558604:这是一个注释,特别是关于是否专门使用
pathlib
的最后一部分,因为它简化了事情。但是,老实说,从面向对象设计的角度来看,
Path
s附加了这个额外的功能,因为它似乎违反了,