[Python]安全打开关闭文件的方式

Python官方文档支持的with方式进行文件打开、关闭操作:

1
2
with open('file.txt', 'r') as f:
# do stuff with f

在Python2.5版本以前,需手动打开关闭操作,需要考虑的几点:

  • 文件打开成功时,操作正常, 关闭文件
  • 文件打开成功,但操作时异常的, 需手动关闭文件
  • 当文件打开异常时,不需要关闭文件(此时无法进行关闭操作)

安全的处理方式:

1
2
3
4
5
6
7
f = None
try:
f = open('file.txt', 'r')
# do stuff with f
finally:
if f is not None:
f.close()

参考文献

  1. stackoverflow: How to safely open/close files in python 2.4