如何忽略FileNotFoundError,仅处理文件夹中存在的ZIP文件?
解决方案:忽略ZIP文件不存在错误,仅处理存在的文件
要实现忽略FileNotFoundError、跳过不存在的ZIP文件,只处理存在的文件,你可以用异常捕获结合循环遍历的方式重构代码,避免重复编写相同逻辑,同时处理文件不存在的情况:
修改后的代码
import zipfile import warnings warnings.filterwarnings("ignore", category=FutureWarning) # 定义所有需要处理的ZIP文件名列表 zip_files = [ 'CteProc.zip', 'CteProc (01).zip', 'CteProc (02).zip', 'CteProc (03).zip' ] for zip_path in zip_files: try: # 尝试打开并解压ZIP文件,用with自动管理文件资源 with zipfile.ZipFile(zip_path) as exemploZip: exemploZip.extractall() print(f"成功解压文件: {zip_path}") except FileNotFoundError: # 文件不存在时跳过,可按需打印提示 print(f"文件不存在,已跳过: {zip_path}") continue
代码说明
- 将所有目标ZIP文件名存入列表,通过循环遍历减少重复代码
- 使用
with语句自动管理ZIP文件资源,无需手动调用close() - 用
try-except精准捕获FileNotFoundError,遇到不存在的文件时打印提示并继续处理下一个文件 - 保留原有的警告过滤逻辑,避免
FutureWarning干扰执行
原错误信息:
FileNotFoundError: [Errno 2] No such file or directory: 'CteProc.zip'
内容的提问来源于stack exchange,提问作者Gustavo de Castro Fabrini
相关产品推荐
相关产品推荐

