Python中当我们们打开文本时,通常会是用with语句,with语句允许我们非常方便的使用资源,而不必担心资源没有关闭. with open('/path/filename', 'r') as f: f.read() 然而,并不是只有open()函数返回fp对象才能使用 with 语句.实际上,任何对象,只要正确实现上下文管理,就可以使用with语句.实现上下文管理是通过 __enter__ 和 __exit__ 这两个方法实现的.例如,下面的class实现了这两个方法: class Quer…