我open
用来在 Python 中打开一个文件。我将文件处理封装在一个with
语句中,如下所示:
with open(path, 'r') as f:
# do something with f
# this part might throw an exception
这样,即使抛出异常,我也可以确定我的文件已关闭。
但是,我想处理打开文件失败(OSError
抛出一个)的情况。一种方法是将整个with
块放在一个try:
. 只要文件处理代码不抛出 OSError,它就可以工作。
它可能看起来像:
try:
with open(path, 'rb') as f:
except:
#error handling
# Do something with the file
这当然行不通,而且真的很难看。有这样做的聪明方法吗?
谢谢
PS:我正在使用python 3.3