,释放资源
f.close()
这样呢,打开文件操作后,必须需要手动关闭文件,如果没有.close ,系统资源会一直被占用,而且还有一点,系统同一时间打开文件的数量也有限....上下文管理器
这个我的理解是,只有一个类实现了__enter__, __exit__两个方法,通过该类创建的对象称为上下文管理器....上下文管理器就是with背后强大的支撑,上面用open函数创建的文件对象就是一个上下文管理器对象....print(f)
运行结果:
进入上文方法
Hello Bobby
进入下文方法
在__enter__是上文方法,需要返回一个操作文件对象
__exit__是下文方法,不管是否出现异常...,都会最后执行该方法的,在这我们还可以捕获异常,打印出来,然后关闭文件,释放资源!