更优雅地善后,Python中with as的用法
2015-03-30 本文已影响1086人
李响同學
首先自黑,我之前一直用这种二逼写法:
![](https://img.haomeiwen.com/i47318/7967bc5abd31317a.png)
不仅粗鲁,而且我们会发现,在文件不存在的情况下,f.close()没有意义。但之所以一直用,因自己可以确定文件一定存在,存在侥幸心理。
健全的写法如下:
![](https://img.haomeiwen.com/i47318/2b8b9763eec69b52.png)
或者用headfirst里给出的方法:在f.close()之前加上这一句判断:
if 'f' in locals():
问题是解决了,但是感觉显得有点dirty,这并不是我想要的生活。
自从我学会了文艺的with……
![](https://img.haomeiwen.com/i47318/f1b3e59517645279.png)