从品牌网站建设到网络营销策划,从策略到执行的一站式服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
小编给大家分享一下python的with语句的使用方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
with语句处理异常
我们知道使用try-except-finally语句可以处理异常,接下来我们介绍使用with语句处理与异常相关的工作
with语句支持创建资源,抛出异常,释放资源等操作,并且代码简洁。
with语句格式
with 上下文表达式 [as 资源对象]: 对象操作 说明:
上下文表达式,返回一个上下文管理对象
如果指定了as语句,该对象并不赋值给as子句中的资源对象,而是将上下文管理器的__enter__()方法的返回值赋值给了资源对象。
资源对象可以是单变量,也可以是元组。
使用with语句操作文件对象
with open("/test.txt") as file: for aline in file: print(aline)
解释说明: 这段代码使用with语句打开文件,如果顺路打开,则将文件对象赋值给file,然后用for语句遍历打印文件的每一行。当文件操作结束后,with语句关闭文件。如果这段代码运行过程中发生异常,with也会将文件关闭。
这段代码使用finally语句实现如下:
try: file = open("/test.txt") try: for aline in file: print(aline) except Exception as error: print(error) finally: file.close() except FileNotFoundError as err: print(err)
我们也可以给with语句加上异常处理:
try: with open("/test.txt") as file: for aline in file: print(aline) except Exception as error: print(error)
通过对比可以发现:with语句在进行异常处理时代码简洁很多
特别说明:
不是所有的对象都可以使用with语句,只有支持上=上下文管理协议的对象才可以。目前支持上下文管理协议的对象如下:
file decimal.Context thread.LockType threading.BoundedSemaphore threading.Condition threading.Lock threading.RLock threading.Semaphore
看完了这篇文章,相信你对python的with语句的使用方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图