我使用第三方库,这很好,但不能以我希望的方式处理不存在的文件.当给它一个不存在的文件,而不是提高旧的好
FileNotFoundError: [Errno 2] No such file or directory: 'nothing.txt'
这引发了一些模糊的信息:
OSError: Syntax error in file None (line 1)
我不想处理丢失的文件,不想捕获或处理异常,不想引发自定义异常,也不想删除该文件,如果它不存在,也不想创建它.
我只想判断它是否存在(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异常呢?