Scrivere sull'errore standard

Python:
Scrivere sull'errore standard

Come fare:

Utilizzando sys.stderr

Il modulo integrato sys di Python consente di scrivere esplicitamente su stderr. Questo approccio è diretto per messaggi di errore semplici o diagnostici.

import sys

sys.stderr.write('Errore: Qualcosa è andato storto.\n')

Esempio di output (su stderr):

Errore: Qualcosa è andato storto.

Utilizzando la funzione print

La funzione print di Python può reindirizzare il suo output su stderr specificando il parametro file. Questo metodo è utile per sfruttare la facilità d’uso di print mentre si gestiscono messaggi di errore.

from sys import stderr

print('Errore: Fallimento nel modulo.', file=stderr)

Esempio di output (su stderr):

Errore: Fallimento nel modulo.

Utilizzando il modulo logging

Per una soluzione più completa, il modulo logging di Python può indirizzare i messaggi su stderr e molto altro, come scrivere su un file o personalizzare il formato dei messaggi. Questo metodo è il migliore per applicazioni che richiedono vari livelli di registrazione, formattazione dei messaggi o destinazioni.

import logging

logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)

logger.error('Errore: Connessione al database fallita.')

Esempio di output (su stderr):

ERROR:__main__:Errore: Connessione al database fallita.

Librerie di terze parti: loguru

loguru è una popolare libreria di terze parti che semplifica il logging nelle applicazioni Python. Dirotta automaticamente gli errori su stderr, tra le altre caratteristiche.

Per utilizzare loguru, installalo prima via pip:

pip install loguru

Poi, incorporalo nel tuo script Python come segue:

from loguru import logger

logger.error('Errore: Impossibile aprire il file.')

Esempio di output (su stderr):

2023-04-05 12:00:00.000 | ERRORE    | __main__:<module>:6 - Errore: Impossibile aprire il file.