异常退出期间文件是否关闭?

发布于 2021-01-29 18:25:20

当脚本由于异常退出时,打开的文件(和其他资源)是否会自动关闭?

我想知道在异常处理期间是否需要关闭资源。

编辑 :更具体地说,我正在脚本中创建一个简单的日志文件。我想知道在例外情况下是否需要担心显式关闭日志文件。由于我的脚本有一个复杂的,嵌套的try /
except块,因此这样做有些复杂,因此,如果python,CLIB或OS在脚本崩溃/出错时要关闭我的文本文件,我就不想在确保关闭文件上浪费了太多时间。

如果Python手册中有涉及这一部分的内容,请向我介绍,但找不到。

关注者
0
被浏览
233
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不,他们没有。

    with如果您希望即使发生异常也要关闭文件,请使用语句。

    文档

    with语句用于使用上下文管理器定义的方法来包装块的执行。这允许将常见的 try … except …最终
    使用模式进行封装以方便重用。

    文档

    with语句允许使用诸如文件之类的对象,以确保始终及时,正确地清理它们。

    with open("myfile.txt") as f:
        for line in f:
            print line,
    

    执行该语句后f,即使处理行时遇到问题,该文件也始终关闭。提供预定义清除操作的其他对象将在其文档中进行说明。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看