擅长:python、mysql、java
<p>实际上,文件在<a href="https://stackoverflow.com/a/1834757/">garbage collected</a>时将被关闭。请参阅<a href="https://stackoverflow.com/questions/575278/how-does-python-close-files-that-have-been-gced">this question</a>了解有关如何工作的更多信息。</p>
<p>但仍然建议您使用<code>try</code>/<code>finally</code>块或<code>with</code>语句。如果在使用某个文件对象的方法时出现异常,则引用将存储在回溯(作为全局变量存储)中,直到您清除它或发生另一个异常。</p>
<p>因此,依赖垃圾收集为您关闭文件是不好的。</p>
<p>此外,如果已写入文件,则在关闭或刷新文件之前,无法保证将更改保存到该文件。</p>