在python中,如何查看即将进行垃圾收集的对象的来源?

在python中,如何查看即将进行垃圾收集的对象的来源?,python,python-3.x,garbage-collection,filehandle,Python,Python 3.x,Garbage Collection,Filehandle,在我的程序中的某个地方,我得到一个ResourceWarning,说一个没有调用close()的文件句柄已被删除。然而,我在一个巨大的项目中,无法轻松找到文件句柄 如何使用gc库来记录文件句柄的文件名,或在其中创建文件句柄的文件名 顺便说一句,我确信问题与垃圾收集有关,因为如果我在脚本前面加上gc.disable(),我看不到警告 更新:我仅在从unittest.main()的上下文运行时看到警告日志,警告应包括文件名;您是如何收到警告的?其包含的文件名看起来像是使用gc的时间和地点的文件名。它

在我的程序中的某个地方,我得到一个
ResourceWarning
,说一个没有调用
close()
的文件句柄已被删除。然而,我在一个巨大的项目中,无法轻松找到文件句柄

如何使用
gc
库来记录文件句柄的文件名,或在其中创建文件句柄的文件名

顺便说一句,我确信问题与垃圾收集有关,因为如果我在脚本前面加上
gc.disable()
,我看不到警告


更新:我仅在从
unittest.main()

的上下文运行时看到警告日志,警告应包括文件名;您是如何收到警告的?其包含的文件名看起来像是使用gc的时间和地点的文件名。它引用的文件中没有打开的文件描述符。您不会得到类似
资源警告:未关闭的文件
?这就是我用
f=open(“xxxxxxxx”)得到的结果;del f
。原来我只是不认识文件名警告应该包括文件名;您是如何收到警告的?其包含的文件名看起来像是使用gc的时间和地点的文件名。它引用的文件中没有打开的文件描述符。您不会得到类似
资源警告:未关闭的文件
?这就是我用
f=open(“xxxxxxxx”)得到的结果;del f
。原来我只是不认识文件名