【问题标题】:Difference between os.path.exists and os.path.isfile?os.path.exists 和 os.path.isfile 的区别?
【发布时间】:2013-07-19 02:13:26
【问题描述】:

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

【问题讨论】:

  • 如果参数不是文件,os.path.isfile 将返回 false:也就是说,它是一个目录,或者它不存在。
  • os.path.exists 如果它是一个有效的路径返回(检查目录或文件,两者)和 os.path.isfile(只检查文件,不检查目录)如果它是一个文件返回.所以当 os.path.isfile 为 True 时,os.path.exists 也为 True,当 os.path.exists 为 False 时,os.path.isfile 也为 False。希望这能让你明白。干杯! :)

标签: python file directory


【解决方案1】:

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

从技术角度来看,

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

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

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

【讨论】:

  • 那么如果isfile(x)返回true,那么exists(x)是否每次都返回true呢?
  • 是的,isfile(path) == True 暗示exists(path) == True
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 2011-10-20
      相关资源
      最近更新 更多