【发布时间】:2016-07-04 18:54:24
【问题描述】:
我使用的第三方库很好,但不会按照我想要的方式处理不存在的文件。当给它一个不存在的文件时,而不是提高旧的
FileNotFoundError: [Errno 2] No such file or directory: 'nothing.txt'
它提出了一些晦涩的信息:
OSError: Syntax error in file None (line 1)
我不想处理丢失的文件,不想捕获或处理异常,不想引发自定义异常,既不想open 文件,也不想创建它它不存在。
我只想检查它是否存在(os.path.isfile(filename) 可以解决问题),如果不存在,则只需引发适当的 FileNotFoundError。
我试过这个:
#!/usr/bin/env python3
import os
if not os.path.isfile("nothing.txt"):
raise FileNotFoundError
只输出什么:
Traceback (most recent call last):
File "./test_script.py", line 6, in <module>
raise FileNotFoundError
FileNotFoundError
这比“文件无语法错误”要好,但是如何使用正确的消息引发“真正的”python 异常,而无需重新实现呢?
【问题讨论】:
标签: python python-3.x file-not-found