在 os.path. vis 和 os.path.isdir 之间的利弊

我正在检查一个目录是否存在,但是我注意到我使用的是 os.path.exists而不是 os.path.isdir。两者都可以正常工作,但我很好奇使用 isdir而不是 exists的优点是什么。

121719 次浏览

就像它听起来的那样: 如果路径存在,但是是一个文件而不是一个目录,那么 isdir将返回 False。同时,exists在两种情况下都会返回 True

大多数时候,都是一样的。

但是,path 可以物理存在,而 path.exists()返回 False。

如果路径在物理上存在,那么 path.isdir()将始终返回 True。这不依赖于平台。

存在(路径) 如果路径引用现有路径,则返回 True 是普通文件 (http://en.wikipedia.org/wiki/Unix_file_types#Regular_file) ,但也 特殊文件(例如目录) 如果提供的路径以任何形式存在于文件系统中,则为 true (尽管有一些例外,例如破碎的符号链接)。

Isdir (path) 反过来,只有当路径指向某个目录时才返回 true

Isdir () 检查路径是否存在并且是一个目录,并且对于这种情况返回 TRUE。

类似地,Isfile ()检查路径是否存在并且是一个文件,并为大小写返回 TRUE。

而且,()检查路径是否存在,并且不关心路径是指向文件还是指向目录,并且在这两种情况下都返回 TRUE。