#with语句(上下文管理器)#with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件的正确关闭,#以此来达到释放资源的目的'''with open(上下文管理器)'''with open('a.txt','r') as file:#as起个别名print(file.read())#不用写close了,不用手动关闭'''MyContentMgr实现了特殊方法__enter__()和__exit__()称该类对象(一切皆对象)遵守了上下文管理器协议,该类对象的实例对象就成为上下文管理器MyContentMgr()#创建实例对象,写个小括号就表示创建该类的实例对象了即当一个类涵盖两种方法enter和exit的时候,这个类的对象就称为上下文管理器''''''class MyContentMgr(object):def __enter__(self):print('enter方法被调用执行了')return selfdef __exit__(self, exc_type, exc_val, exc_tb):print('exit方法被调用执行了')return selfdef Show(self):print('show方法被调用执行了')#def Show(self):#print('show方法被调用执行了',1/0)with MyContentMgr() as file:#相当于file=MyContentMgr()file.Show()#自动调用enter方法#with开始先调用enter,with结束时调用exit#with下面有缩进,缩进里面的东西都成为with语句体#当with语句体执行完毕后,会自动跳出上下文管理器,然后调用exit方法#enter被执行-->执行with语句体-->执行exit#无论程序是否出错,都会执行exit方法,自动关闭了资源#'''with open('logo.jpg','rb') as src_file:#读取二进制文件#相当于src_file=open('logo.jpg','rb')with open('copy2logo.jpg','wb') as target_file:#写二进制文件,起名名为copy2logo.jpg#相当于target_file=open('copy2logo.jpg','wb')target_file.write(src_file.read())#不用手动写关闭了 【Python入门--with语句】
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
