Python中with语句的使用
1.with语句
2.代码:
"""1.
open("a.txt","r",encoding="utf-8") 称为上下文表达式
而该表达式 创建的对象 称为上下文管理器
"""
with open("a.txt","r",encoding="utf-8") as file:
print(file.read())
"""2.
类MyContentMgr实现了特殊方法_enter__(),__exit__()称为该类对象遵守了上下文管理器协议
该类对象的实例对象,称为上下文管理器
无论程序是否出现异常,上下文管理器都会调用 __enter__和__exit__方法
"""
class MyContentMgr(object):
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,即file=MyContentMgr()
file.show()
# enter方法被调用执行了
# show方法被调用执行了
# exit方法被调用执行了
"""3.复制图片1.jpg 到 copy1.jpg
使用with语句自动关闭资源,就不需要close()关闭资源了
"""
with open('1.jpg','rb') as src_file:
with open('copy1.jpg','wb') as target_file:
target_file.write(src_file.read())
3.截图:
还没有评论,来说两句吧...