Escrevendo para o erro padrão

Python:
Escrevendo para o erro padrão

Como fazer:

Usando sys.stderr

O módulo interno sys do Python permite escrever explicitamente para stderr. Esta abordagem é direta para mensagens de erro simples ou diagnósticos.

import sys

sys.stderr.write('Erro: Algo deu errado.\n')

Saída de exemplo (para stderr):

Erro: Algo deu errado.

Usando a função print

A função print do Python pode redirecionar sua saída para stderr especificando o parâmetro file. Este método é útil para aproveitar a facilidade de uso do print enquanto lida com mensagens de erro.

from sys import stderr

print('Erro: Falha no módulo.', file=stderr)

Saída de exemplo (para stderr):

Erro: Falha no módulo.

Usando o módulo logging

Para uma solução mais abrangente, o módulo de logging do Python pode direcionar mensagens para stderr e muito mais, como escrever para um arquivo ou personalizar o formato da mensagem. Este método é melhor para aplicações que requerem diferentes níveis de registro, formatação de mensagens ou destinos.

import logging

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

logger.error('Erro: Falha na conexão com a base de dados.')

Saída de exemplo (para stderr):

ERROR:__main__:Erro: Falha na conexão com a base de dados.

Bibliotecas de terceiros: loguru

loguru é uma biblioteca de terceiros popular que simplifica o registro de logs em aplicações Python. Ela direciona automaticamente os erros para stderr, entre outras funcionalidades.

Para usar o loguru, primeiro instale-o via pip:

pip install loguru

Em seguida, incorpore-o ao seu script Python da seguinte maneira:

from loguru import logger

logger.error('Erro: Falha ao abrir arquivo.')

Saída de exemplo (para stderr):

2023-04-05 12:00:00.000 | ERROR    | __main__:<module>:6 - Erro: Falha ao abrir arquivo.