问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python with语句上下文管理器两种实现方法分析

发布网友 发布时间:2023-05-04 18:28

我来回答

1个回答

热心网友 时间:2023-11-03 18:29


本文实例讲述了Python with语句上下文管理器。分享给大家供大家参考,具体如下:
在编程中会经常碰到这种情况:有一个特殊的语句块,在执行这个语句块之前需要先执行一些准备动作;当语句块执行完成后,需要继续执行一些收尾动作。例如,文件读写后需要关闭,数据库读写完毕需要关闭连接,资源的加锁和解锁等情况。
对于这种情况python提供了上下文管理器(Context Manager)的概念,可以通过上下文管理器来定义/控制代码块执行前的准备动作,以及执行后的收尾动作。
一、为何使用上下文管理器
1、不使用上下文管理器的情况
通过try...finally语句执行异常处理和关闭句柄的动作。
?
1
234
567
logger
=
open
(log.txt
,
w)
try
logger.write(Hello)
logger.write(World)
finally
logger.close()
print
logger.closed
2、使用上下文管理器
默认文件Python的内置file类型是支持上下文管理协议的。
使用上下文管理器with使得依据精简了很多。
?
1234
with
open
(log.txt
,
w) as logger:
logger.write(Hello)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
阳光燕山学校是贵族学校吗 小米14ultra跌至新低 小米14ultra值得购买吗 马卡龙多少钱一个 马卡龙为什么那么贵 正宗马卡龙多少钱一个-马卡龙为什么这么贵 今年河北的迁西板栗多少钱一斤、生的 板栗什么时候上市能卖到几月呢? 6月份能买到新鲜板栗吗? 睡眠银行的生物信息专家林晨瀚讲座谁有听过,对他们的生物信息助眠方法讲 ... 材料力学实验简介 发票代码的日期怎样看?有一长串数字哪个是现实发票的年份? 发票上的日期是指什么时间 北戴河7月份海边的贝壳,海星什么时候最多啊,是退潮后吗,大概在几点,鸽子窝公园这边和东海滩花园这边哪 北戴河五天四晚旅游攻略2017 浪淘沙北戴河意思 技术员一般都什么学历 是做什么工作的 梦见别人骑车摔死的预兆 梦见别人骑车摔死了的预兆 梦见骑摩托车带的人死了的预兆 梦见有人从车上掉下来摔死了的预兆 社保缴费年限错了怎么办 交了I2年农保现在改灵活就业养老保险怎么改 养老保险缴费年限不够怎么办,养老保险缴费年限怎么计算 社保修改最低缴纳年限 养老保险怎么增加年限呢 社保缴费年份怎么改 刻有恒兴银局字样的五十两的银锭属于哪个时期的 我有一个五十两银锭、左面写五十两、中间写泰古宝、右面写光绪年!问问现在能卖多少钱? 洪武年间的五十两官方银锭是什么样的 五十两银锭上面写着泰箤陆还有永记是什么意思啊 冲锋衣怎样搭配裤子和鞋子? 酯化反应是可逆反应吗 LUS,中文是什么意思? 请问"木兰皮"三字用温州话的发音是什麼? 素肌的拼音狐素肌的拼音是什么 无rop是什么意思啊 海狗——海盗篇攻略 恬适的意思恬适的意思是什么 宠物直播背景布颜色要求 刀剑英雄宠物背景颜色 猎人的宠物的忠诚度 在哪里查看 毛毛狗头用什么颜色背景 脾胃不好要怎么吃?资深中医给出这几条建议 不速之客打三个数字? 昨天晚上出现的月亮边上的圆圈是什么 有些晚上月亮周围微微有发亮的大圆圈,有时正午太阳也有,那是什么 宁波云海宾馆标准房和特价标准房除了差一个早还有啥么区别 黄山云海楼的酒店介绍 英雄联盟祖安的有哪些 szh是什么意思?