上下文管理器实现以及细节

class File(object):
def init(self, file_name: str, mode: str):
self.file_name = file_name
self.mode = mode

def __enter__(self):
	self.f = open(self.file_name, self.mode, encoding='utf-8')
	return self.f

def __exit__(self, exc_type, exc_val, exc_tb):
	self.f.close()

with File("C:\Users\Administrator\Desktop\本周做的事情.txt", "r") as f:
data = f.read()
print(data)

说明: 自定义上下文管理器:只需要在一个类中实现__enter__魔术方法和__exit__魔术方法即可

posted @ 2022-03-03 16:04  甜甜太阳雨  阅读(29)  评论(0)    收藏  举报