python中os.path.exists和os.path.isfile之间的区别

Nat*_*bin 32 python directory file

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

Jan*_*cke 32

正如你已经发现,之间的差异exists,并isfile是一个事实,即前者返回True的情况下,给出的路径是一个目录文件,而后者只返回True,如果路径指向的文件.

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

特别是在Windows世界中,目录通常称为"文件夹".我相信你自己正在使用"文件夹"来组织你的文件.

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

  • 那么如果 isfile(x) 返回 true,那么exists(x) 是否每次都返回 true? (2认同)
  • 是的,`isfile(path) == True` 意味着 `exists(path) == True`。 (2认同)

sco*_*ame 4

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

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