Suprimir avisos em Python
-
Use a função
filterwarnings()
para suprimir avisos em Python -
Use a opção
-Wignore
para suprimir avisos em Python -
Use a variável de ambiente
PYTHONWARNINGS
para suprimir avisos em Python
Avisos em Python são gerados quando alguma classe, função, palavra-chave desatualizada, etc., são usados. Não são como erros. Quando ocorre um erro em um programa, o programa é encerrado. Mas, se houver avisos no programa, ele continuará em execução.
Este tutorial demonstra como suprimir os avisos nos programas em Python.
Use a função filterwarnings()
para suprimir avisos em Python
O módulo warnings
lida com avisos em Python. Podemos mostrar avisos levantados pelo usuário com a função warn (). Podemos usar a função filterwarnings()
para executar ações em avisos específicos.
Por exemplo,
import warnings
warnings.filterwarnings(
"ignore",
".*do not.*",
)
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
Resultado:
<string>:3: UserWarning: DelftStack
Conforme observado, a ação ignore
no filtro é disparada quando o aviso Do not show this message warning
é gerado e apenas o aviso DelftStack
é mostrado.
Podemos suprimir todos os avisos usando apenas a ação ignore
.
Veja o código abaixo.
import warnings
warnings.filterwarnings("ignore")
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
print("No Warning Shown")
Resultado:
No Warning Shown
Use a opção -Wignore
para suprimir avisos em Python
A opção -W
ajuda a controlar se o aviso deve ser impresso ou não. Mas a opção deve ter um valor específico. Não é necessário fornecer apenas um valor. Podemos oferecer mais de um valor à opção, mas a opção -W
considerará o último valor.
Para suprimir completamente os avisos, a opção -Wignore
é usada. Temos que usar isso no prompt de comando durante a execução do arquivo, conforme mostrado abaixo.
python -W warningsexample.py
Use a variável de ambiente PYTHONWARNINGS
para suprimir avisos em Python
Podemos exportar uma nova variável de ambiente em Python 2.7 e superior. Podemos exportar PYTHONWARNINGS
e configurá-lo para ignorar para suprimir os avisos levantados no programa Python.