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
嗯,我不明白为什么,但它是这样工作的。
谢谢大家!
我正在编写一个将数据写入文件的程序,每小时生成一个新文件,并带有准确的标题。 当存储已满时,它要么停止应用程序,要么删除文件夹中创建的最旧文件。
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
嗯,我不明白为什么,但它是这样工作的。
谢谢大家!