,释放资源
f.close()
这样呢,打开文件操作后,必须需要手动关闭文件,如果没有.close ,系统资源会一直被占用,而且还有一点,系统同一时间打开文件的数量也有限....Python中提供了with语句,就2个缺点,既安全又简单,而且with语句在最后都会进行关闭文件操作,连异常也会自动调用关闭文件操作!...上下文管理器
这个我的理解是,只有一个类实现了__enter__, __exit__两个方法,通过该类创建的对象称为上下文管理器....上下文管理器就是with背后强大的支撑,上面用open函数创建的文件对象就是一个上下文管理器对象....@contextmanager一种装饰器,简化上下文管理器实现方式,
通过yield 将函数分割成两半,上半部分语句在__enter__方法执行,yield下面语句在__exit__方法中执行,yield