国庆当然要学习了
with语句
- with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
#跳出with块 文件正确关闭
with open('a.txt','r') as file:
print(file.read())
with语句原理
'''MyContentMgr实现了特殊方法__enter__(),__exit__()称为该类对象遵守了上下文管理器协议 该类对象的实例对象,称为上下文管理器'''
class MyContentMgr(obj):
def __enter__(self):
print('enter方法被调用执行了')
return self
def __exit__(self,exc_type,exc_val.exc_tb):
print('exit方法被调用执行了')
def show(self):
print('show方法被调用执行了')
with MyContentMgr() as file: #相当于file=MyContetnMgr(),MyContetnMgr()为上下文管理器
file.show()