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

    文章

    442

    浏览量

    20833
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RTT 5.1.0 警告 如何消除?

    在RTT5.1.0中,出现如下警告 arm-none-eabi-gcc \"../rt-thread/src/klibc/kstdio.c\" ../rt-thread/src
    发表于 10-14 06:40

    如何捕获PWM信号?

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

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

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

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

    普源DHO5104波形捕获率对偶发故障诊断的影响

    一、偶发故障诊断的挑战与波形捕获率的核心价值 偶发故障(Intermittent Fault)具有随机性强、持续时间短、复现概率低等特点,传统示波器常因波形捕获速率不足而难以捕捉到关键信号异常。例如
    的头像 发表于 06-19 15:14 444次阅读
    普源DHO5104波形<b class='flag-5'>捕获</b>率对偶发故障诊断的影响

    使用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 732次阅读
    泰克MDO3052示波器波形<b class='flag-5'>捕获</b>率评测

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

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

    安全警告系统中超声波雷达与Elmos芯片的作用

    Elmos芯片在安全警告系统中的作用是多方面的,它们不仅为AK2超声波雷达提供了精确的距离测量功能,还通过软件可配置参数提高了系统的灵活性和适应性。这些芯片的高集成度、抗干扰性和一致性,以及符合汽车
    的头像 发表于 12-27 00:00 1279次阅读
    安全<b class='flag-5'>警告</b>系统中超声波雷达与Elmos芯片的作用