在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python 怎么捕獲警告(Warning)?

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-01 10:57 ? 次閱讀

1. 警告不是異常

你是不是經(jīng)常在使用一些系統(tǒng)庫或者第三方模塊的時候,會出現(xiàn)一些既不是異常也不是錯誤的警告信息?

這些警告信息,有時候非常多,對于新手容易造成一些誤判,以為是程序出錯了。

實則不然,異常和錯誤,都是程序出現(xiàn)了一些問題,但是警告不同,他的緊急程度非常之低,以致于大多數(shù)的警告都是可以直接忽略的。

如果不想顯示這些告警信息,可以直接加上參數(shù) -W ignore 參數(shù),就不會再顯示了。

2. 警告能捕獲嗎

能捕獲的只有錯誤異常,但是通過一系列的操作后,你可以將這些警告轉(zhuǎn)化為異常。

這樣一來,你就可以像異常一樣去捕獲他們了。

在不進(jìn)行任何設(shè)置的情況下,警告會直接打印在終端上。

圖片

3. 捕獲警告方法一

在 warnings 中有一系列的過濾器。

圖片

當(dāng)你指定為 error 的時候,就會將匹配警告轉(zhuǎn)換為異常。

之后你就可以通過異常的方式去捕獲警告了。

import warnings
warnings.filterwarnings('error')    

try:
    warnings.warn("deprecated", DeprecationWarning)
except Warning as e:
    print(e)

運(yùn)行后,效果如下

圖片

4. 捕獲警告方法二

如果你不想對在代碼中去配置將警告轉(zhuǎn)成異常。

import warnings

try:
    warnings.warn("deprecated", DeprecationWarning)
except Warning as e:
    print(e)

可以在執(zhí)行的時候,只要加上一個參數(shù) -W error ,就可以實現(xiàn)一樣的效果

$ python3 -W error demo.py
deprecated

5. 捕獲警告方法三

除了上面的方法之外 ,warnings 還自帶了個捕獲警告的上下文管理器。

當(dāng)你加上 record=True 它會返回一個列表,列表里存放的是所有捕獲到的警告,我將它賦值為 w,然后就可以將它打印出來了。

import warnings

def do_warning():
    warnings.warn("deprecated", DeprecationWarning)

with warnings.catch_warnings(record=True) as w:
    do_warning()
    if len(w) >0:
        print(w[0].message)

運(yùn)行后,效果如下

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2769

    瀏覽量

    48912
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1177

    瀏覽量

    30478
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4822

    瀏覽量

    85794
  • Warning
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    7139
收藏 人收藏

    評論

    相關(guān)推薦

    Eclips編譯警告,每次都有這個warning,為什么?

    Eclips編譯警告,每次都有這個warning,看起來不順眼, 不知道哪里有問題,編譯結(jié)果是沒問題的。 報錯的中間信息如下,紅色已標(biāo)注
    發(fā)表于 06-21 06:25

    fpga 警告解決辦法 Warning (10631)

    本帖最后由 eehome 于 2013-1-5 10:08 編輯 Warning (10631): VHDL Process Statement warning at kongzhi.vhd
    發(fā)表于 12-19 23:19

    從編譯警告信息(Warning)中尋找原因

    從編譯警告信息(Warning)中尋找原因在跟著韋老師視頻學(xué)習(xí)的時候,經(jīng)常發(fā)現(xiàn),我就是按照韋老師的視頻邊看邊敲的代碼,到最后為什么他都能實現(xiàn)結(jié)果,而我的程序頻繁報錯,這些問題困擾我們這些新手很長
    發(fā)表于 05-21 10:54

    quartus Warning問題(等待解答)

    因為仿真的時候一直找不到這個address,所以找到了這個警告,想問下大神們這是怎么回事?Warning (10631): VHDL Process Statement warning
    發(fā)表于 08-10 15:04

    CCS編譯出現(xiàn)警告warning: creating output section csmpasswds without SECTIONS specification

    ccs3.3中編譯出現(xiàn)如下警告:>> warning: creating output section csmpasswds without SECTIONS
    發(fā)表于 09-05 11:08

    封裝時出現(xiàn)警告Warning:Errors occurred during compilation of the project

    封裝的時候出現(xiàn)的警告Warning:Errors occurred during compilation of the project,怎么解決?
    發(fā)表于 04-15 07:34

    python捕獲警告的3種方法

    ;python3 -W error demo.pydeprecated5. 捕獲警告方法三除了上面的方法之外 ,warnings 還自帶了個捕獲警告
    發(fā)表于 03-31 16:12

    Eclips編譯警告,每次都有這個warning怎么去除?

    Eclips編譯警告,每次都有這個warning,看起來不順眼,不知道哪里有問題,編譯結(jié)果是沒問題的。報錯的中間信息如下,紅色已標(biāo)注
    發(fā)表于 02-20 07:40

    怎樣解決MDK中的警告Warning: L6305W: Image does not have an entry p...?

    怎樣解決MDK中的警告Warning: L6305W: Image does not have an entry point. (Not specified or not set due
    發(fā)表于 06-20 07:47

    "51單片機(jī)編譯警告筆記一(WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS)"

    *** WARNING L16: UNCALLED SEGMENT IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAY_N10US?DELAY
    發(fā)表于 11-18 13:36 ?12次下載
    "51單片機(jī)編譯<b class='flag-5'>警告</b>筆記一(<b class='flag-5'>WARNING</b> L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS)"

    "51單片機(jī)WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS"

    編譯程序時出現(xiàn)如下警告WARNING L16: UNCALLED SEGMENT IGNORED FOR OVERLAY PROCESS出現(xiàn)這種警告是由于定義的函數(shù)或者代碼段常量沒有使用造成
    發(fā)表于 11-18 13:51 ?18次下載
    "51單片機(jī)<b class='flag-5'>WARNING</b> L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS"

    keil C51出現(xiàn)的警告

    (MEASURE_PROGRAM)*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNALSYMBOL: ?C?LIMULMODULE: measure program.obj (MEASURE_PROGRAM)ADDRESS: 072BHkeil C51出現(xiàn)
    發(fā)表于 12-03 20:36 ?8次下載
    keil C51出現(xiàn)的<b class='flag-5'>警告</b>

    python如何捕獲異常和主動拋出異常

    python如何主動拋出異常和捕獲異常 1. 如何拋出異常? 異常的產(chǎn)生有兩種來源: 一種是程序自動拋出,比如 1/0 會自動拋出 ZeroDivisionError 一種是開發(fā)者主動拋出
    的頭像 發(fā)表于 03-04 17:09 ?1w次閱讀

    python怎么捕獲警告

    你是不是經(jīng)常在使用一些系統(tǒng)庫或者第三方模塊的時候,會出現(xiàn)一些既不是異常也不是錯誤的警告信息?
    的頭像 發(fā)表于 03-31 16:12 ?1457次閱讀

    應(yīng)用筆記|巧用 STM32CubeIDE 之編譯警告

    關(guān)鍵字:STM32CubeIDE,warning,編譯警告 目錄預(yù)覽 1 前言 2 巧用 warning 3 小結(jié) 1. 前言 編譯警告對于工程師們來說,是再常見不過的東西了。 對于嚴(yán)
    的頭像 發(fā)表于 06-29 17:35 ?1795次閱讀
    應(yīng)用筆記|巧用 STM32CubeIDE 之編譯<b class='flag-5'>警告</b>
    主站蜘蛛池模板: 夜色福利| 日韩精品一区二区在线观看 | 天天躁日日躁成人字幕aⅴ 天天躁夜夜躁 | 天天爱天天做天天爽天天躁 | 国产三级在线 | 天天摸天天摸天天躁 | 欧美一卡二卡科技有限公司 | 成人国产一区 | 久久亚洲精品国产精品婷婷 | 在线观看亚洲一区 | 欧美亚洲综合一区 | 欧美精品影院 | 两性色午夜视频免费播放 | 久久新视频 | 夜夜操天天操 | 奇米777狠狠 | 91亚洲国产成人久久精品网站 | 国产精品嫩草影院在线播放 | 久久999| 黄色综合网站 | 欧美一级在线全免费 | 欧美h网 | 天堂网中文 | 久久dvd | 丁香五月缴情在线 | 成人区精品一区二区毛片不卡 | 麦克斯奥特曼在线观看 | www.4hu影院| 另类视频色综合 | 香蕉视频一级 | 欧美aaaaaaaaaa| 国久久 | 午夜秒播 | 青娱乐99| 日本污视频 | 国产免费色视频 | 国产美女一级高清免费观看 | 伊人亚洲 | 欧美xxxxxxxxx| 素股中文字幕 | 久久精品国波多野结衣 |