本篇內(nèi)容主要講解“Python 捕獲警告的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python 捕獲警告的方法”吧!
創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、和田網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為和田等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
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)行后,效果如下
到此,相信大家對“Python 捕獲警告的方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁名稱:Python捕獲警告的方法
網(wǎng)站路徑:http://aaarwkj.com/article38/igsspp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、小程序開發(fā)、做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、外貿(mào)建站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)