国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

python捕獲警告的三種方法

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

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

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

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

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

2. 警告能捕獲嗎

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

這樣一來(lái),你就可以像異常一樣去捕獲他們了。

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

python捕獲警告的三種方法

3. 捕獲警告方法一

在 warnings 中有一系列的過(guò)濾器。

python捕獲警告的三種方法

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

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

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

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

python捕獲警告的三種方法

4. 捕獲警告方法二

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

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

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

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

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

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

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 捕獲警告的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 丹棱县| 九龙城区| 宣武区| 周宁县| 滁州市| 濮阳市| 延川县| 万山特区| 左权县| 澜沧| 长宁县| 慈溪市| 石楼县| 武隆县| 阜南县| 手游| 桃江县| 土默特左旗| 定州市| 郓城县| 陆川县| 双辽市| 东安县| 武冈市| 原平市| 利辛县| 孙吴县| 宜城市| 饶平县| 宜春市| 明星| 灵武市| 渭南市| 南部县| 诸城市| 荣成市| 南木林县| 霍邱县| 洛川县| 汤原县| 资溪县|