Python:
写入标准错误
如何操作:
使用 sys.stderr
Python 的内置 sys
模块允许显式写入stderr
。这种方法适用于简单的错误消息或诊断信息。
import sys
sys.stderr.write('Error: Something went wrong.\n')
示例输出(到 stderr):
Error: Something went wrong.
使用 print
函数
Python 的 print
函数可以通过指定 file
参数将其输出重定向到 stderr
。这种方法利用了 print
的用户友好特性,同时处理错误消息。
from sys import stderr
print('Error: Failure in module.', file=stderr)
示例输出(到 stderr):
Error: Failure in module.
使用 logging
模块
对于更全面的解决方案,Python 的 logging
模块可以将消息导向 stderr
以及更多,如写入文件或自定义消息格式。这种方法最适合需要不同日志级别、消息格式或目标的应用。
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Error: Database connection failed.')
示例输出(到 stderr):
ERROR:__main__:Error: Database connection failed.
第三方库:loguru
loguru
是一个受欢迎的第三方库,它简化了 Python 应用中的日志记录。它自动将错误定向到 stderr
,除了其他功能。
要使用 loguru
,首先通过 pip 安装它:
pip install loguru
然后,按如下方式将其纳入你的 Python 脚本:
from loguru import logger
logger.error('Error: Failed to open file.')
示例输出(到 stderr):
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - Error: Failed to open file.