久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python捕獲警告的三種方法

瀏覽:133日期:2022-06-25 08:42:48
1. 警告不是異常

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

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

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

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

2. 警告能捕獲嗎

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

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

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

python捕獲警告的三種方法

3. 捕獲警告方法一

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

python捕獲警告的三種方法

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

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

import warningswarnings.filterwarnings(’error’) try: warnings.warn('deprecated', DeprecationWarning)except Warning as e: print(e)

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

python捕獲警告的三種方法

4. 捕獲警告方法二

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

import warningstry: warnings.warn('deprecated', DeprecationWarning)except Warning as e: print(e)

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

$ python3 -W error demo.pydeprecated5. 捕獲警告方法三

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

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

import warningsdef 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)行后,效果如下

python捕獲警告的三種方法

以上就是python捕獲警告的三種方法的詳細(xì)內(nèi)容,更多關(guān)于python 捕獲警告的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 红安县| 鹰潭市| 牟定县| 建湖县| 丘北县| 黎平县| 福安市| 汶上县| 嘉兴市| 宜兰县| 靖远县| 苗栗市| 东至县| 丰城市| 杂多县| 稷山县| 宁南县| 枣庄市| 嘉荫县| 中卫市| 烟台市| 耒阳市| 岱山县| 栖霞市| 雷州市| 忻州市| 通榆县| 青州市| 巴东县| 四川省| 县级市| 山西省| 靖宇县| 方山县| 葫芦岛市| 永嘉县| 明水县| 成安县| 云龙县| 津市市| 东宁县|