我们在读写文件的时候经常会用到with语句,那么到底什么是上下文管理器呢?可以简单的理解为我们现在有2个需要成对出现的操作。例如我们操作文件的时候,先要打开文件,然后执行文件相关的操作,最后在关闭文件。这里打开文件和关闭文件是成对出现的。还有一个常见的就是在多线程中的加锁与解锁操作。
上下文管理器: 当我们在一个类中实现了__enter__和__exit__方法,那么这个类的实例就是一个上下文管理器
class OpenFile(object):
def __init__(self,file_name,encoding):
self.file_name = file_name
self.encoding = encoding
def __enter__(self):
print("打开文件")
def __exit__(self, exc_type, exc_val, exc_tb):
print