我很好奇这两个函数会返回不同的值。此外,如果您可以澄清路径/目录/文件之间的区别,那将是值得赞赏的。
答案 0 :(得分:28)
正如您已经发现的那样,exists
和isfile
之间的区别在于前者返回True
,以防给定路径是目录或一个文件,而后者仅在路径指向文件时返回True
。
目录和文件非常相似。文件可以包含任何类型的数据。目录只是文件系统中的一个特殊条目(至少在Unix操作系统上它只是一个特殊文件),表示它可能包含文件和其他目录。它是构建数据结构的有用方法。使用目录,您可以按层次结构组织数据。
特别是在Windows世界中,目录通常称为“文件夹”。我相信你自己正在使用“文件夹”来组织文件。
路径是指向文件系统中资源的明确指针。它可以指向文件或目录。
答案 1 :(得分:2)
对于exists,目录测试为true,对于isfile,目录为false。有几种不同类型的文件系统对象也是如此。
isfile表示它是常规文件。它比存在更具体。
答案 2 :(得分:0)
os.path.exists 返回是否为有效路径(检查目录或文件,两者)而 os.path.isfile(仅检查文件,不检查目录)