Python - 关闭文件和 IOError

Python - close file and IOError

我正在编写一个将数据写入文件的程序,每小时生成一个新文件,并带有准确的标题。 当存储已满时,它要么停止应用程序,要么删除文件夹中创建的最旧文件。

fp = open (fileNamePath, 'a')
fp.write('%s' % buffer)
try:
    fp.close()
except IOError:
    # delete file or close app

但是遇到except的时候直接跳过,直接显示IOError。

谢谢!

所以如果我理解正确的话,IOError 不是在捕获异常,而是在爆炸。您是否尝试了一些更通用的异常 ('except Exception')?

或者您可以尝试使用 finally 而不是 except 部分的解决方法:

finally:
    if not f.closed:
        # handle exception here

我在 Google 上寻找解决方案,有人建议使用:

try:
    with open(filePath,'a') as fp:
        fp.write('%s' % buffer)

except IOError as exc:
    # Handling exception

嗯,我不明白为什么,但它是这样工作的。

谢谢大家!