finally子句
finally子句与try-except语句连用时,无论try-except是否捕获到异常,finally子句后的代码都要执行,其语法格式如下:
try:
可能出错的语句
......
except:
出错后的执行语句
finally:
无论是否出错都会执行的语句
Python在处理文件时,为避免打开的文件占用过多的系统资源,需要在完成对文件的操作后使用close()方法关闭文件。为了确保文件一定会被关闭,可以将文件关闭操作放在finally子句中。示例如下:
try:
file = open('异常.txt', 'r')
file.write("人生苦短,我用Python")
except Exception as error:
print("写入文件失败", error)
finally:
file.close()
print('文件已关闭')
若没有finally语句,以上程序会因出现UnsupportedOperation异常而无法保证打开的文件会被关闭;但使用finally语句后,无论程序是否崩溃,f.close()一定被执行,文件必定会被关闭。