0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python怎么捕获警告

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-31 16:12 次阅读

1. 警告不是异常

你是不是经常在使用一些系统库或者第三方模块的时候,会出现一些既不是异常也不是错误的警告信息

这些警告信息,有时候非常多,对于新手容易造成一些误判,以为是程序出错了。

实则不然,异常和错误,都是程序出现了一些问题,但是警告不同,他的紧急程度非常之低,以致于大多数的警告都是可以直接忽略的。

如果不想显示这些告警信息,可以直接加上参数 -W ignore参数,就不会再显示了。

2. 警告能捕获吗

能捕获的只有错误异常,但是通过一系列的操作后,你可以将这些警告转化为异常。

这样一来,你就可以像异常一样去捕获他们了。

在不进行任何设置的情况下,警告会直接打印在终端上。

在 warnings 中有一系列的过滤器。

3. 捕获警告方法一

当你指定为 error 的时候,就会将匹配警告转换为异常。

之后你就可以通过异常的方式去捕获警告了。

importwarnings
warnings.filterwarnings('error')

try:
warnings.warn("deprecated",DeprecationWarning)
exceptWarningase:
print(e)

如果你不想对在代码中去配置将警告转成异常。

4. 捕获警告方法二

importwarnings

try:
warnings.warn("deprecated",DeprecationWarning)
exceptWarningase:
print(e)

可以在执行的时候,只要加上一个参数-W error,就可以实现一样的效果

$python3-Werrordemo.py
deprecated

5. 捕获警告方法三

除了上面的方法之外 ,warnings 还自带了个捕获警告的上下文管理器。

当你加上record=True它会返回一个列表,列表里存放的是所有捕获到的警告,我将它赋值为w,然后就可以将它打印出来了。

importwarnings

defdo_warning():
warnings.warn("deprecated",DeprecationWarning)

withwarnings.catch_warnings(record=True)asw:
do_warning()
iflen(w)>0:
print(w[0].message)


审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 过滤器
    +关注

    关注

    1

    文章

    430

    浏览量

    19628
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84752
收藏 人收藏

    评论

    相关推荐

    意大利监管机构警告Gedi勿与OpenAI共享数据

    近日,意大利个人数据保护局(GPDP)向意大利传媒集团Gedi发出了一则重要警告。该警告指出,如果Gedi向OpenAI披露个人数据,则可能违反欧盟条例的相关规定,进而面临一系列严重的法律后果
    的头像 发表于 12-04 11:35 242次阅读

    使用Python进行图像处理

    下面是一个关于使用Python在几行代码中分析城市轮廓线的快速教程。
    的头像 发表于 11-07 10:14 238次阅读
    使用<b class='flag-5'>Python</b>进行图像处理

    在双绞线线路上捕获1394个事件

    电子发烧友网站提供《在双绞线线路上捕获1394个事件.pdf》资料免费下载
    发表于 09-29 09:41 0次下载
    在双绞线线路上<b class='flag-5'>捕获</b>1394个事件

    是德DSOX4032A示波器波形捕获

    在电子工程领域,示波器是不可或缺的工具之一。而其中,是德DSOX4032A示波器以其卓越的性能和精准的测量能力备受青睐。今天,我们就来深入了解一下是德DSOX4032A示波器的波形捕获率。 一、波形
    的头像 发表于 08-30 15:38 282次阅读
    是德DSOX4032A示波器波形<b class='flag-5'>捕获</b>率

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 2007次阅读

    Python建模算法与应用

    Python作为一种功能强大、免费、开源且面向对象的编程语言,在科学计算、数学建模、数据分析等领域展现出了卓越的性能。其简洁的语法、对动态输入的支持以及解释性语言的本质,使得Python在多个平台
    的头像 发表于 07-24 10:41 569次阅读

    Python在AI中的应用实例

    Python在人工智能(AI)领域的应用极为广泛且深入,从基础的数据处理、模型训练到高级的应用部署,Python都扮演着至关重要的角色。以下将详细探讨Python在AI中的几个关键应用实例,包括机器学习、深度学习、自然语言处理、
    的头像 发表于 07-19 17:16 1140次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来实现 Pyt
    的头像 发表于 07-18 14:53 430次阅读

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1224次阅读

    用pycharm进行python爬虫的步骤

    以下是使用PyCharm进行Python爬虫的步骤: 安装PyCharm和Python 首先,您需要安装PyCharm和Python。PyCharm是一个流行的Python集成开发环境
    的头像 发表于 07-11 10:11 869次阅读

    Eclips编译警告,每次都有这个warning,为什么?

    Eclips编译警告,每次都有这个warning,看起来不顺眼, 不知道哪里有问题,编译结果是没问题的。 报错的中间信息如下,红色已标注
    发表于 06-21 06:25

    示波器如何捕获和分析IIC波形?

    示波器捕获和分析IIC(集成电路间通信)波形是一项重要的电子测量任务,特别是在嵌入式系统和微控制器的调试过程中。
    的头像 发表于 05-20 15:08 3194次阅读

    使用STM8S的FLASH库函数时,警告就有20多个,使用寄存器方式就一个警告没有,怎么处理?

    您好!我在使用STM8S的FLASH库函数时,警告就有20多个,而我使用寄存器方式就一个警告没有。针对库函数的警告问题,有何高招!
    发表于 03-22 14:53

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1234次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一个强大的调试工具,可以帮助开发者诊断和修复程序中的错误。在本文
    的头像 发表于 01-31 10:41 2650次阅读