48

我很好奇这两个函数何时会返回不同的值。此外,如果您能澄清将不胜感激的路径/目录/文件之间的区别。

4

3 回答 3

42

正如您已经发现的那样, 和 之间的区别在于exists前者isfileTrue给定路径是目录文件的情况下返回,而后者仅True在路径指向文件时才返回。

从技术角度来看,目录文件非常相似。文件可以包含任何类型的数据。目录只是文件系统中的一个特殊条目(至少在 Unix 操作系统上它只是一个特殊文件),表示它可能包含文件和其他目录这一事实。它是构建数据结构的有用方法。使用目录,您可以按层次结构组织数据。

尤其是在 Windows 世界中,目录通常被称为“文件夹”。我确信您自己正在使用“文件夹”来组织您的文件。

路径是指向文件系统中资源的明确指针。它可以指向一个文件或一个目录。

于 2013-07-19T17:30:30.613 回答
3

一个目录为存在测试为真,但为 isfile 测试为假。有几种不同类型的文件系统对象也是如此。

isfile 表示它是一个常规文件。它比现有的更具体。

于 2013-07-19T17:30:22.747 回答
0

os.path.exists 如果它是有效路径则返回(检查目录或文件,两者),而 os.path.isfile(只检查文件,不检查目录)

于 2021-06-29T05:13:27.267 回答