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

    文章

    440

    浏览量

    20480
  • python
    +关注

    关注

    56

    文章

    4832

    浏览量

    87763
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何捕获PWM信号?

    我们现在有个需求,DSP在正常工作时会输出1khz的PWM信号,异常时PWM信号会停止。 芯片需要捕获DSP输出的PWM信号,来检测DSP的状态。 如果DSP异常没有输出PWM信号,芯片需要在这5S
    发表于 08-08 06:47

    示波器波形捕获率的定义和作用

    波形捕获率(Waveform Capture Rate)是数字示波器的关键指标之一,指单位时间内示波器能够捕获并显示波形的次数,通常以“次/秒”或“帧/秒”为单位。其本质是衡量示波器在单位时间内对信号变化的响应能力。
    的头像 发表于 08-04 15:20 ?535次阅读

    使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确,是什么原因导致的?

    在使用STM32F103芯片的2个定时器捕获2路PWM波时,当2路信号同时输入时,会出现捕获的频率不准确,但是分开一路一路的输入捕获时,捕获的PWM频率是正确的,这是什么原因导致的呢?
    发表于 05-14 06:24

    使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确是什么原因导致的?

    在使用STM32F103芯片的2个定时器捕获2路PWM波时,当2路信号同时输入时,会出现捕获的频率不准确,但是分开一路一路的输入捕获时,捕获的PWM频率是正确的,这是什么原因导致的呢?
    发表于 04-27 08:39

    使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题,是什么原因导致的?

    在使用STM32F103芯片的2个定时器捕获2路PWM波时,当2路信号同时输入时,会出现捕获的频率不准确,但是分开一路一路的输入捕获时,捕获的PWM频率是正确的,这是什么原因导致的呢?
    发表于 04-25 08:29

    使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准,为什么?

    在使用STM32F103芯片的2个定时器捕获2路PWM波时,当2路信号同时输入时,会出现捕获的频率不准确,但是分开一路一路的输入捕获时,捕获的PWM频率是正确的,这是什么原因导致的呢?
    发表于 04-22 10:43

    泰克MDO3052示波器波形捕获率评测

    泰克MDO3052作为中端混合域示波器的代表型号,其波形捕获率性能在同类产品中处于领先地位。本文将从技术原理、实测数据、应用场景及局限性等多个维度,结合工程实践案例,全面解析MDO3052的波形捕获
    的头像 发表于 04-02 11:49 ?463次阅读
    泰克MDO3052示波器波形<b class='flag-5'>捕获</b>率评测

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 ?962次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    使用OpenCV保存从摄像头捕获的视频时更改颜色输出视频收到警告怎么解决?

    保存了从配备 OpenCV* 的摄像头捕获的视频。 生成更改的颜色输出视频。 收到警告:[ INFO:0] global .。/opencv/modules/core/src/utils
    发表于 03-05 07:20

    Python绘图Matplotlib快速参考手册

    ?PYTHON
    发表于 02-07 14:04 ?0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 ?1480次阅读

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

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

    使用Python进行图像处理

    下面是一个关于使用Python在几行代码中分析城市轮廓线的快速教程。
    的头像 发表于 11-07 10:14 ?656次阅读
    使用<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 ?626次阅读
    是德DSOX4032A示波器波形<b class='flag-5'>捕获</b>率