python中不存在输入文件时如何处理异常?

Sar*_*vam -5 python exception file

让我们假设我有一个名为“student.csv”的文件。但是在我的 python 中,我错误地将“student1.csv”作为文件输入传递,它不存在。如何处理这个异常以进一步停止执行。

Woj*_*k T 6

这是一个工作示例,如果找不到文件,它将抛出FileNotFoundError异常

try:
    f = open('student.csv')
except FileNotFoundError:
    print('File does not exist')
finally:
    f.close()
    print("File Closed")
Run Code Online (Sandbox Code Playgroud)

其它的办法:

try:
    with open("student.csv") as f:
        print("I will do some Magic with this")
except FileNotFoundError:
    print('File does not exist')
Run Code Online (Sandbox Code Playgroud)

此外,如果您不想要自定义错误消息,您可以使用

with open("student.csv") as f:
       print("I will do some Magic with this")
Run Code Online (Sandbox Code Playgroud)

如果文件不存在,您仍然会得到一个 FileNotFoundErorr

例子:

FileNotFoundError: [Errno 2] No such file or directory: 'student1.csv'
Run Code Online (Sandbox Code Playgroud)

  • 更好的是: `with open('student.csv') as f:` 并且文件将在 with 块之后关闭,而无需添加 `close()`。 (6认同)
  • 建议:f.close() 在finally 块中? (2认同)