os.path.exists和os.path.isdir的优缺点

85 投票
5 回答
124246 浏览
提问于 2025-04-17 17:06

我在检查一个文件夹是否存在时,发现我用的是 os.path.exists,而不是 os.path.isdir。这两种方法都能正常工作,但我很好奇为什么用 isdir 会比用 exists 更好。

5 个回答

4

os.path.isdir() 用来检查一个路径是否存在,并且这个路径是不是一个文件夹,如果是的话就返回TRUE。

类似地,os.path.isfile() 用来检查一个路径是否存在,并且这个路径是不是一个文件,如果是的话也返回TRUE。

os.path.exists() 则是检查一个路径是否存在,不管这个路径是指向文件还是文件夹,只要存在就返回TRUE。

6

就像字面意思一样:如果这个路径存在,但它是一个文件而不是一个文件夹,isdir 会返回 False。同时,exists 在这两种情况下都会返回 True

145

os.path.exists 这个函数会检查你给定的路径是否存在。如果存在一个普通文件,结果也会是 True

os.path.isdir 这个函数只有在你给的路径存在并且是一个文件夹,或者是指向文件夹的符号链接时,才会返回 True

撰写回答