目录
在读写文件之前一般需要检查读写的文件是否存在。在 Python 中主要有以下三种方法完成这个任务。
- 使用 os.path 模块
- 使用 pathlib 模块
- 异常捕获
1. 使用 os.path 模块
os.path
模块的主要功能是进行基于字符串的文件名管理。该模块提供了一组函数,方便用户进行解析路径、构建路径、规范化路径、获取文件属性、测试文件等操作,其中的 isfile
函数可用于检查文件是否存在。
import os exists = os.path.isfile('e:/test/readme.txt') if exists: print("文件存在!") else: print("文件不存在!")
2. 使用 pathlib 模块
pathlib
模块的主要功能是进行基于对象的文件系统管理。使用该模块提供的 API 可解析、构建、测试和处理文件名和路径,而不必像 os.path
模块使用底层字符串进行操作。pathlib
模块的 Path
类的 is_file
方法可用于检查文件是否存在。
from pathlib import Path aPath = Path('e:/test/readme.txt') if aPath.is_file(): print("文件存在!") else: print("文件不存在!")
3. 异常捕获
在打开文件之前可以预先不判断文件是否存在,通过捕获 open(...)
函数的 FileNotFoundError
异常,也可以检查文件是否存在。
try: with open('e:/test/readme.txt', 'r') as fileObject: print("文件存在!") except FileNotFoundError: print("文件不存在!")