栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python GC也会关闭文件吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python GC也会关闭文件吗?

取自文档(python 3.6):

如果未使用with关键字,则应调用f.close()关闭文件并立即释放文件使用的所有系统资源。如果您未明确关闭文件,
Python的垃圾回收器最终将破坏该对象并为您关闭打开的文件
,但该文件可能会保持打开状态一段时间。另一个风险是,不同的Python实现将在不同的时间进行清理。

因此,是的,文件将自动关闭,但是为了控制该过程,您应该自己关闭或使用以下

with
语句:

with open('foo') as foo_file    for line in foo_file.readlines():        print line.rstrip()

foo_file``with
区块结束后将被固定

在python 2.7
docs中,措辞不同:

处理完文件后,调用f.close()将其关闭并释放打开文件占用的所有系统资源。调用f.close()之后,尝试使用文件对象将自动失败。

因此,我假设您不应该依赖垃圾收集器自动为您关闭文件,而只需手动/使用

with



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号