1. 警告不是異常
你是不是經(jīng)常在使用一些系統(tǒng)庫或者第三方模塊的時候,會出現(xiàn)一些既不是異常也不是錯誤的警告信息?
這些警告信息,有時候非常多,對于新手容易造成一些誤判,以為是程序出錯了。
實則不然,異常和錯誤,都是程序出現(xiàn)了一些問題,但是警告不同,他的緊急程度非常之低,以致于大多數(shù)的警告都是可以直接忽略的。
如果不想顯示這些告警信息,可以直接加上參數(shù) -W ignore參數(shù),就不會再顯示了。
2. 警告能捕獲嗎
能捕獲的只有錯誤異常,但是通過一系列的操作后,你可以將這些警告轉(zhuǎn)化為異常。
這樣一來,你就可以像異常一樣去捕獲他們了。
在不進行任何設(shè)置的情況下,警告會直接打印在終端上。
在 warnings 中有一系列的過濾器。
3. 捕獲警告方法一
當你指定為 error 的時候,就會將匹配警告轉(zhuǎn)換為異常。
之后你就可以通過異常的方式去捕獲警告了。
importwarnings
warnings.filterwarnings('error')
try:
warnings.warn("deprecated",DeprecationWarning)
exceptWarningase:
print(e)
如果你不想對在代碼中去配置將警告轉(zhuǎn)成異常。
4. 捕獲警告方法二
importwarnings
try:
warnings.warn("deprecated",DeprecationWarning)
exceptWarningase:
print(e)
可以在執(zhí)行的時候,只要加上一個參數(shù)-W error,就可以實現(xiàn)一樣的效果
$python3-Werrordemo.py
deprecated
5. 捕獲警告方法三
除了上面的方法之外 ,warnings 還自帶了個捕獲警告的上下文管理器。
當你加上record=True它會返回一個列表,列表里存放的是所有捕獲到的警告,我將它賦值為w,然后就可以將它打印出來了。
importwarnings
defdo_warning():
warnings.warn("deprecated",DeprecationWarning)
withwarnings.catch_warnings(record=True)asw:
do_warning()
iflen(w)>0:
print(w[0].message)
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
過濾器
+關(guān)注
關(guān)注
1文章
444瀏覽量
21042 -
python
+關(guān)注
關(guān)注
58文章
4885瀏覽量
90307
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
使用PYTHON進行的跨平臺仿真
如何使用編程語言Python來調(diào)用和控制VirtualLab Fusion中的模擬。請查看下面鏈接的文檔,以找到關(guān)于如何設(shè)置和使用Python和VirtualLab Fusion之間的接口的詳細指南,以及一個
發(fā)表于 04-02 08:21
[VirtualLab] 使用Python運行VirtualLab Fusion光學仿真
摘要
VirtualLab Fusion允許Python外部訪問其建模技術(shù)、求解器和結(jié)果。這個用例介紹了一種使用路徑變量和Visual Studio代碼將Python連接到VirtualLab
發(fā)表于 03-31 09:39
[VirtualLab] 使用Python進行跨平臺參數(shù)掃描
摘要
VirtualLab Fusion允許外部訪問其建模技術(shù)、求解器和結(jié)果。這有助于應用其他數(shù)據(jù)處理或優(yōu)化工具來進一步研究光學模擬。在本示例中,我們演示如何使用Python腳本運行參數(shù)掃描,以及
發(fā)表于 03-31 09:36
如何在 VisionFive 上使用 Python 包?
VisionFive Fedora 下的本地目錄,請在源代碼目錄下執(zhí)行以下命令:
提示:源代碼可從以下位置下載:愿景五.gpio.
sudo yum install python
發(fā)表于 03-30 08:28
沒有專利的opencv-python 版本
所有 官方發(fā)布的 opencv-python 核心版本(無 contrib 擴展)都無專利風險——專利問題僅存在于 opencv-contrib-python 擴展模塊中的少數(shù)算法(如早期 SIFT
發(fā)表于 12-13 12:37
RTT 5.1.0 警告 如何消除?
在RTT5.1.0中,出現(xiàn)如下警告
arm-none-eabi-gcc \"../rt-thread/src/klibc/kstdio.c\"
../rt-thread/src
發(fā)表于 10-14 06:40
rtthread5.1.0使用cmake構(gòu)建時,有很多警告是怎么回事?
我下載了release版本的5.1.0,構(gòu)建時出現(xiàn)了下面的警告
在代碼里看到這段定義
請問這種情況需要怎么處理才能把警告處理掉
發(fā)表于 10-10 07:52
vscode下SConstruct報警告怎么解決?
pylance不識別scons的函數(shù),雖然也能運行,但不能補全提示還是感覺很別扭。
系統(tǒng)環(huán)境中已經(jīng)安裝python3.13.3,也通過pip安裝scons 4.9.1
發(fā)表于 09-19 07:32
termux如何搭建python游戲
termux如何搭建python游戲
Termux搭建Python游戲開發(fā)環(huán)境的完整指南
一、Termux基礎(chǔ)環(huán)境準備
Termux是一款無需root即可在安卓設(shè)備上運行的Linux終端
發(fā)表于 08-29 07:06
如何捕獲PWM信號?
我們現(xiàn)在有個需求,DSP在正常工作時會輸出1khz的PWM信號,異常時PWM信號會停止。
芯片需要捕獲DSP輸出的PWM信號,來檢測DSP的狀態(tài)。
如果DSP異常沒有輸出PWM信號,芯片需要在這5S
發(fā)表于 08-08 06:47
python app不能運行怎么解決?
;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
發(fā)表于 08-06 06:27
示波器波形捕獲率的定義和作用
波形捕獲率(Waveform Capture Rate)是數(shù)字示波器的關(guān)鍵指標之一,指單位時間內(nèi)示波器能夠捕獲并顯示波形的次數(shù),通常以“次/秒”或“幀/秒”為單位。其本質(zhì)是衡量示波器在單位時間內(nèi)對信號變化的響應能力。
普源DHO5104波形捕獲率對偶發(fā)故障診斷的影響
一、偶發(fā)故障診斷的挑戰(zhàn)與波形捕獲率的核心價值 偶發(fā)故障(Intermittent Fault)具有隨機性強、持續(xù)時間短、復現(xiàn)概率低等特點,傳統(tǒng)示波器常因波形捕獲速率不足而難以捕捉到關(guān)鍵信號異常。例如
使用STM32捕獲PWM時同時捕獲2個通道時會出現(xiàn)捕獲的頻率值不準確,是什么原因?qū)е碌模?/a>
在使用STM32F103芯片的2個定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現(xiàn)捕獲的頻率不準確,但是分開一路一路的輸入捕獲時,捕獲的PWM頻率是正確的,這是什么原因?qū)е碌哪兀?/div>
發(fā)表于 05-14 06:24
使用STM32捕獲PWM時同時捕獲2個通道時會出現(xiàn)捕獲的頻率值不準確是什么原因?qū)е碌模?/a>
在使用STM32F103芯片的2個定時器捕獲2路PWM波時,當2路信號同時輸入時,會出現(xiàn)捕獲的頻率不準確,但是分開一路一路的輸入捕獲時,捕獲的PWM頻率是正確的,這是什么原因?qū)е碌哪兀?/div>
發(fā)表于 04-27 08:39
python怎么捕獲警告
評論