更优雅地善后,Python中with as的用法
2015-03-30 本文已影响1086人
李响同學
首先自黑,我之前一直用这种二逼写法:

不仅粗鲁,而且我们会发现,在文件不存在的情况下,f.close()没有意义。但之所以一直用,因自己可以确定文件一定存在,存在侥幸心理。
健全的写法如下:

或者用headfirst里给出的方法:在f.close()之前加上这一句判断:
if 'f' in locals():
问题是解决了,但是感觉显得有点dirty,这并不是我想要的生活。
自从我学会了文艺的with……
