何时需要在 Python 中关闭文件?

假设我有以下代码:


remote = urlopen('www...../file.txt')

with open(file='file', mode='wb') as local:

    local.write(remote.read())

我是否还需要做:


local.close()

remote.close()

我如何知道何时close()需要以及 Python 何时为我处理它?


慕妹3146593
浏览 252回答 2
2回答

回首忆惘然

如果您使用上下文管理器(这就是“with..”语句的含义),那么您不需要使用.close.在这种情况下,Python 会为您管理资源。这是一篇很好的文章,详细介绍了它的工作原理。尽可能使用上下文管理器是一种很好的做法,您可以使用contextlib库创建自己的上下文管理器。

慕仙森

使用 pythonwith语句时,不必显式关闭文件。所以你很擅长local对象。而这篇文章解释了为什么你应该关闭remote明确资源。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python