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

时间:2013-07-19 17:26:46

标签: python file directory

我很好奇这两个函数会返回不同的值。此外,如果您可以澄清路径/目录/文件之间的区别,那将是值得赞赏的。

3 个答案:

答案 0 :(得分:28)

正如您已经发现的那样,existsisfile之间的区别在于前者返回True,以防给定路径是目录一个文件,而后者仅在路径指向文件时返回True

从技术角度来看,

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

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

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

答案 1 :(得分:2)

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

isfile表示它是常规文件。它比存在更具体。

答案 2 :(得分:0)

os.path.exists 返回是否为有效路径(检查目录或文件,两者)而 os.path.isfile(仅检查文件,不检查目录)