什么时候需要用Python关闭文件?

时间:2019-04-10 09:53:10

标签: python file

说我有以下代码:

remote = urlopen('www...../file.txt')
with open(file='file', mode='wb') as local:
    local.write(remote.read())

我还需要做:

local.close()
remote.close()

我怎么知道何时需要close()以及Python何时为我服务?

2 个答案:

答案 0 :(得分:2)

如果使用上下文管理器(即“ with ..”语句),则无需使用.close

在这种情况下,Python为您管理资源。 This是一篇很好的文章,详细介绍了它的工作方式。

在可能的情况下使用上下文管理器是一种很好的做法,您可以使用contextlib库创建自己的上下文管理器。

答案 1 :(得分:1)

使用python with语句时,不必显式关闭文件。因此,您对local对象很满意。 this post解释了为什么您应该显式关闭remote资源的原因。