栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python的with怎么抛错

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python的with怎么抛错

使用with后不管with中的代码出现什么错误,都会进行对当前对象进行清理工作。

例如file的file.close()方法,无论with中出现任何错误,都会执行file.close()方法

我们知道使用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语句在进行异常处理时代码简洁很多.

更多技术请关注Python视频教程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/806666.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号