抑制 Python 中的警告
Lovey Arora
2023年10月10日
-
使用
filterwarnings()
函式抑制 Python 中的警告 -
使用
-Wignore
選項抑制 Python 中的警告 -
使用
PYTHONWARNINGS
環境變數抑制 Python 中的警告
當使用某些過時的類、函式、關鍵字等時,會在 Python 中引發警告。這些不像錯誤。當程式中發生錯誤時,程式終止。但是,如果程式中有警告,它會繼續執行。
本教程演示瞭如何抑制 Python 程式中的警告。
使用 filterwarnings()
函式抑制 Python 中的警告
warnings
模組處理 Python 中的警告。我們可以使用 warn() 函式顯示使用者提出的警告。我們可以使用 filterwarnings()
函式對特定警告執行操作。
例如,
import warnings
warnings.filterwarnings(
"ignore",
".*do not.*",
)
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
輸出:
<string>:3: UserWarning: DelftStack
正如所觀察到的,當引發 Do not show this message warning
時,會觸發過濾器中的操作 ignore
,並且只顯示 DelftStack
警告。
我們可以通過使用 ignore
操作來抑制所有警告。
請參考下面的程式碼。
import warnings
warnings.filterwarnings("ignore")
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
print("No Warning Shown")
輸出:
No Warning Shown
使用 -Wignore
選項抑制 Python 中的警告
-W
選項有助於控制是否必須列印警告。但是必須為該選項指定一個特定的值。沒有必要只提供一個值。我們可以為選項提供多個值,但 -W
選項將考慮最後一個值。
要完全抑制警告 -Wignore
選項被使用。我們必須在執行檔案時在命令提示符中使用它,如下所示。
python -W warningsexample.py
使用 PYTHONWARNINGS
環境變數抑制 Python 中的警告
我們可以在 Python 2.7 及更高版本中匯出一個新的環境變數。我們可以匯出 PYTHONWARNINGS
並將其設定為忽略以抑制 Python 程式中引發的警告。