Suprimir avisos em Python

Lovey Arora 10 outubro 2023
  1. Use a função filterwarnings() para suprimir avisos em Python
  2. Use a opção -Wignore para suprimir avisos em Python
  3. Use a variável de ambiente PYTHONWARNINGS para suprimir avisos em Python
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.