参见docs.python.org:
处理完文件后,调用f.close()将其关闭并释放打开文件占用的所有系统资源。调用f.close()之后,尝试使用文件对象将自动失败。
因此可以
close()优雅地与
try/finally:
f = open('file.txt', 'r')try: # do stuff with ffinally: f.close()这样可以确保即使
# do stuff with f引发异常,
f也仍然可以正确关闭。
需要注意的是
open应该出现 之外 的
try。如果
open自身引发异常,则说明文件未打开,因此不需要关闭。另外,如果
open引发异常,则
不会 分配其结果,
f并且调用会出错
f.close()。



