filename超出范围时将关闭。那通常是方法的结束。
是的,最好使用
with。
一旦有了文件对象,就可以通过调用该对象的方法来执行所有文件I / O。[…]处理完文件后,应该通过
close在对象上调用方法来结束与文件的连接:input.close()在简短的脚本中,人们通常会省略此步骤,因为在垃圾回收期间回收文件对象时,Python会自动关闭文件(这在主流Python中意味着该文件会立即被关闭,尽管其他重要的Python实现(例如Jython和IronPython,还有其他更宽松的垃圾收集策略)。但是,最好的编程方法是尽快关闭文件,在较大的程序中尤其要好,否则可能会冒大量无用打开文件的危险。请注意,即使当函数由于未捕获的异常而终止时,
try/finally也特别适合于确保文件被关闭。
Python食谱,第59页。



