亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python捕獲警告的方法有哪些

發布時間:2021-03-15 10:41:16 來源:億速云 閱讀:219 作者:TREX 欄目:開發技術

本篇內容主要講解“python捕獲警告的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python捕獲警告的方法有哪些”吧!

1. 警告不是異常

你是不是經常在使用一些系統庫或者第三方模塊的時候,會出現一些既不是異常也不是錯誤的警告信息?

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

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

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

2. 警告能捕獲嗎

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

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

在不進行任何設置的情況下,警告會直接打印在終端上。

python捕獲警告的方法有哪些

3. 捕獲警告方法一

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

python捕獲警告的方法有哪些

當你指定為 error 的時候,就會將匹配警告轉換為異常。

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

import warnings
warnings.filterwarnings('error')    

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

運行后,效果如下

python捕獲警告的方法有哪些

4. 捕獲警告方法二

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

import warnings

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

可以在執行的時候,只要加上一個參數 -W error ,就可以實現一樣的效果

$ python3 -W error demo.py
deprecated

5. 捕獲警告方法三

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

當你加上 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)

運行后,效果如下

python捕獲警告的方法有哪些

到此,相信大家對“python捕獲警告的方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田东县| 沂南县| 吉林省| 贵定县| 文山县| 台南县| 临泽县| 建水县| 五莲县| 张北县| 中山市| 宣武区| 新津县| 北川| 庆元县| 博客| 新昌县| 饶阳县| 望江县| 喜德县| 孟村| 阿鲁科尔沁旗| 沂源县| 衡阳县| 蕲春县| 寻乌县| 微山县| 长汀县| 吉林省| 黔东| 旺苍县| 鄢陵县| 芜湖市| 辛集市| 密云县| 龙里县| 东明县| 崇义县| 满洲里市| 阿图什市| 恩平市|