![]() |
1
3
代码没有 返回 文件对象(正如q的标题正确地说,它作为参数接收)。 在当前的cpython中,文件将在函数返回时关闭(因为函数不会将对文件对象的任何引用隐藏到更持久的位置)。在其他实现中,文件将“最终”关闭,但没有指定确切的时间。 依赖于cpython的即时闭包语义(当将来的cpython转移到更好的垃圾收集机制时,这种语义可能会发生变化),虽然这是一种非常传统的方法,但并不是最佳实践。
相反,最佳实践是使用
用
这
使用,文件的立即关闭(只要
注意,在Python2.5中,您需要
|