【发布时间】:2015-10-24 08:01:20
【问题描述】:
我知道在 Python 中 file.close() 方法没有任何返回值,但我找不到任何关于在某些情况下它是否会引发异常的信息。如果它也不这样做,那么我想这个问题的第二部分是多余的。
如果是这样,那么处理 file.close() 方法在用于打开文件的“with”语句中引发异常的“正确”方法是什么?
是否存在file.close() 在文件打开并成功读取后立即失败的情况?
【问题讨论】:
-
如果您使用的是 Python 2.5 或更高版本,
with块将自动为您关闭文件。在这种情况下,无需明确声明close()。 -
@Daniel,OP 使用 python 3.x 标签。 @Bitrex,如果确实发生错误,您可以打印错误,方法是用
try: except Exception,e: print (e)包装您的with语句 -
with 语句可以抛出异常,除非包装在 try/except 中,否则无法处理它们。提出了with/except,但被否决了。 with 语句是没有异常的简单用例的语法糖。请参阅stackoverflow.com/questions/8774830/… 进行扩展讨论。
标签: python python-3.x file-handling