一篇文章告诉你Python上下文管理器怎么用
公众号:pythonislover 一般我们操作文件的时候,大家都会知道我们使用with的方式去写,一般如下 with open('xxxx/test.txt') as f: 'xxxxxx' 那么我们为什么要使用这种方式去操作文件呢?因为with这种方式自动帮我们执行了close关闭文件句柄的操作,免的我们忘记关闭句柄,浪费资源。 那我们为什么是使用with方式就可以达到这种效果呢?这就是我们今天说的python的上下文管理器的作用。简单来说上下文管理器必须在这个对象的类中声明__enter__和__exit__方法 下面我们看看怎么定义自己的上下文管理器: class Context: def __init__(self,name): self.name=name # 下面使用with语句, 对象的__enter__被触发, 返回值则赋值给as声明的变量,这里就是f def __enter__(self): print('自定义上下文管理器') # return self #with中代码块执行完毕时触发执行,用来释放资源,例如文件句柄,数据库连接等 def __exit__(se...