# with open ('test.txt',mode='w+',encoding='utf-8') as f: # f.write("明天又上班了") """执行完目录下自动生成一个 test.txt文件。""" #with后面跟的是一个上下文管理器对象 class MyOpen(object): """ 文件操作的上下文管理器 """ def __init__(self,filename,filemode,encoding = 'utf8'): self.filename = filename self.filemode = filemode self.encoding = encoding def __enter__(self): self.f = open(self.filename,self.filemode,encoding=self.encoding) return self.f def __exit__(self, exc_type, exc_val, exc_tb): print(exc_type) print(exc_val) print(exc_tb) self.f.close() # with MyOpen("test.txt",'r') as f: #括号内的参数通过 __init__接收 # pass # print(f) with MyOpen("test.txt",'r') as f: #括号内的参数通过 __init__接收 content = f.read() # print(f) print(content) # print(name)