如何在 Python 中打印到 stderr

Syed Moiz Haider 2023年1月30日 2020年11月24日
  1. 在 Python 2.x 中打印到 stderr
  2. 使用 logging 模块打印到 stderr
如何在 Python 中打印到 stderr

本教程解释了如何在 Python 中写入标准错误输出,stderr。它还列出了一些示例代码,以解释不同的方式来写入 stderr,因为语法已经随着时间的推移而改变。

在 Python 3.x 中打印到 stderr

对于 Python3.x,print 函数有一个关键字参数 file,指定打印目标。默认是 sys.stdout,但也可以是 sys.stderr,甚至是一个文件路径。

如果 file=sys.stderr,它就会将信息打印到 stderr。下面给出一个示例代码。

import sys

print("Error", file = sys.stderr )

输出:

Error

在 Python 2.x 中打印到 stderr

对于 Python2.x,print 语句可以将消息打印到一个类似文件的目标,如 stdoutstderr 或一个文件路径。这个类文件对象是在 >> 后面指定的。见下面的例子。

import sys

print >> sys.stderr, "Error Detected!"

输出:

Error Detected!

使用 sys.stderr 打印到 stderr

Python 的 sys 模块提供了有价值的信息和关键函数。可以使用 sys.stderr.write() 方法。sys.stderr.write() 方法将消息作为给定参数打印到 stderr 中。请看下面的例子。

import sys

sys.stderr.write("Error!")

输出:

Error!

使用 logging 模块打印到 stderr

Python 中的 logging 模块是为了记录消息而专门创建的。日志模块可以用来设置基本配置后打印到 stderrlogging.basicConfig()message 的格式作为输入,logging.getLogger() 返回一个 logging 的对象。log.warning()warning 文本并打印到 stderr

基本示例如下所示:

import logging

logging.basicConfig(format = '%(messages)s')
log = logging.getLogger()

log.warning('Error Found!')

输出:

Error Found!
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

相关文章 - Python Print