Java中的close()等价于什么?

时间:2016-08-03 13:37:09

标签: java python python-2.7 python-3.x resources

在Java中,使用close()方法通过删除范围外对象来释放资源。我很困惑Python的等价物是什么?

  • Python的垃圾收集器会自动执行此操作吗?
  • del方法吗?
  • 我应该使用with声明吗?

任何帮助将不胜感激。

编辑:我的目标是在需要时明确删除类对象,而不是文件对象。

3 个答案:

答案 0 :(得分:0)

  

我应该使用with语句吗?

是的,根据the documentation

  

在处理文件对象时,最好使用with关键字。这样做的好处是,即使在路上引发异常,文件也会在套件完成后正确关闭。它也比编写等效的try-finally块短得多:

答案 1 :(得分:0)

您将找到答案here:将gc.collect()放在代码之前。

答案 2 :(得分:0)

ICart的评论适用于许多不同的情况。但是,关于一般对象的创建和处理,我认为this other thread提供了一个很好的解释,说明python如何处理它们的对象(引用计数),以及垃圾收集的来源。