一个比较深入点的with as流程问题
with open('11.txt') as f5:
print 'with-as print:',int(f5.read())
这两行代码敲出来如果出现了错误(11.txt不存在 或者 txt中字符的格式无法转成int格式),那么解释器返回错误并且文件无法正常关闭。
但是在之后深入讲解with as流程的时候,过程是:
1、进入__enter__.
2、执行语句,如果出现异常,则跳转到__exit__,然后返回异常.
3、执行语句,如果正常运行,则运行完语句运行__exit.
那么既然出现异常跳转到__exit__用来关闭文件之后,再返回异常,在上面的例子中,为什么在语句出现异常的时候文件无法正常关闭呢。