Elimina gli avvisi in Python

Lovey Arora 30 gennaio 2023
  1. Usa la funzione filterwarnings() per sopprimere gli avvisi in Python
  2. Usa l’opzione -Wignore per sopprimere gli avvisi in Python
  3. Usa la variabile d’ambiente PYTHONWARNINGS per sopprimere gli avvisi in Python
Elimina gli avvisi in Python

Gli avvisi in Python vengono generati quando vengono utilizzate classi, funzioni, parole chiave obsolete, ecc. Questi non sono come gli errori. Quando si verifica un errore in un programma, il programma termina. Ma, se ci sono avvisi nel programma, continua a funzionare.

Questo tutorial mostra come eliminare gli avvisi nei programmi in Python.

Usa la funzione filterwarnings() per sopprimere gli avvisi in Python

Il modulo warnings gestisce gli avvisi in Python. Possiamo mostrare gli avvisi generati dall’utente con la funzione warn(). Possiamo utilizzare la funzione filterwarnings() per eseguire azioni su avvisi specifici.

Per esempio,

import warnings

warnings.filterwarnings(
    "ignore",
    ".*do not.*",
)
warnings.warn("DelftStack")
warnings.warn("Do not show this message")

Produzione:

<string>:3: UserWarning: DelftStack

Come osservato, l’azione ignore nel filtro viene attivata quando viene generato l’avviso Do not show this message warning e viene mostrato solo l’avviso DelftStack.

Possiamo sopprimere tutti gli avvisi semplicemente usando l’azione ignore.

Vedi il codice qui sotto.

import warnings

warnings.filterwarnings("ignore")
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
print("No Warning Shown")

Produzione:

No Warning Shown

Usa l’opzione -Wignore per sopprimere gli avvisi in Python

L’opzione -W aiuta a controllare se l’avviso deve essere stampato o meno. Ma l’opzione deve avere un valore specifico. Non è necessario fornire un solo valore. Possiamo offrire più di un valore all’opzione, ma l’opzione -W prenderà in considerazione l’ultimo valore.

Per sopprimere completamente gli avvisi viene utilizzata l’opzione -Wignore. Dobbiamo usarlo nel prompt dei comandi durante l’esecuzione del file, come mostrato di seguito.

python -W warningsexample.py

Usa la variabile d’ambiente PYTHONWARNINGS per sopprimere gli avvisi in Python

Possiamo esportare una nuova variabile di ambiente in Python 2.7 e versioni successive. Possiamo esportare PYTHONWARNINGS e impostarlo su Ignora per sopprimere gli avvisi generati nel programma Python.