为了在 Python 中不通过异常处理来检查目录是否存在,我们探索了以下几种方法,以判断文件或目录是否已经存在。
- OS 模块
- Pathlib 模块
OS 模块
Python 中的 OS 模块 提供了用于与操作系统进行交互的函数。OS 模块属于 Python 的标准实用工具模块。该模块提供了一种使用操作系统相关功能的可移植方式。os.path 模块是 Python OS 模块 的一个子模块,用于常见的路径名操作。
使用 os.path.exists()
Python 中的 os.path.exists() 方法 用于检查指定路径是否存在。此方法也可用于检查给定路径是否指向一个打开的文件描述符。
Python
CODEBLOCK_28bd0b82
输出
True
False
使用 os.path.isfile()
Python 中的 os.path.isfile() 方法 用于检查指定路径是否是现有的常规文件。
Python
CODEBLOCK_501cc76a
输出:
True
False
使用 os.path.isdir()
Python 中的 os.path.isdir() 方法 用于检查指定路径是否是现有的目录。此方法会跟随符号链接,这意味着如果指定的路径是指向目录的符号链接,则该方法将返回 True。
示例 1: 用于解释 os.path.isdir() 方法的 Python 程序。
Python
CODEBLOCK_1ed4c193
输出:
False
True
示例 2: 用于解释 os.path.isdir() 方法 的 Python 程序,如果指定路径是符号链接的情况。
Python
CODEBLOCK_9874481d
输出:
True
True
Pathlib 模块
Python 中的 Pathlib 模块 提供了表示文件系统路径的各种类,其语义适用于不同的操作系统。该模块属于 Python 的标准实用工具模块。Pathlib 模块 中的路径类分为纯路径和具体路径。纯路径仅提供计算操作,但不提供 I/O 操作,而具体路径继承自纯路径,既提供计算操作也提供 I/O 操作。
使用 pathlib.Path.exists()
pathlib.Path.exists() 方法 用于检查给定路径是否指向现有的文件或目录。
Python
CODEBLOCK_1b0fa119
输出:
True
如果你在当前目录或其子目录中搜索文件夹,请在文件夹名称前使用 ./ ,否则它会给出错误的结果。
Python
`
import os
print(os.path.isdir(‘./my_folder‘)) # 如果 my_folder 在当前目录下存在,则打印 true,否则打印 false