python如何关闭已经gc'ed的文件?

发布于 2021-01-29 18:59:35

我一直以为如果在未关闭的情况下打开文件就会泄漏文件,但是我只是验证了如果输入以下代码行,文件将关闭:

>>> f = open('somefile.txt')
>>> del f

出于好奇,这是如何工作的?我注意到该文件不包含__del__方法。

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

    至少在CPython中,当释放文件对象时,文件是关闭的。请参阅CPython源代码中的file_dealloc函数Objects/fileobject.c__del__除没有C固有的问题外,Dealloc方法类似于C类型__del__



知识点
面圈网VIP题库

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

去下载看看