更优雅地善后,Python中with as的用法

首先自黑,我之前一直用这种二逼写法:

更优雅地善后,Python中with as的用法_第1张图片
二逼青年写法

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

健全的写法如下:


更优雅地善后,Python中with as的用法_第2张图片
普通青年写法

或者用headfirst里给出的方法:在f.close()之前加上这一句判断:

if 'f' in locals():

问题是解决了,但是感觉显得有点dirty,这并不是我想要的生活。

自从我学会了文艺的with……

更优雅地善后,Python中with as的用法_第3张图片
文艺青年写法

整个世界都清净了好嘛╮(╯▽╰)╭

你可能感兴趣的:(更优雅地善后,Python中with as的用法)