如何在Python中打印到 stderr 和 stdout?
在Python中,每当我们使用 print() 时,文本都会写入 Python 的sys.stdout ,无论何时使用 input() ,它都来自sys.stdin ,而每当发生异常时,它就会被写入sys.stderr 。我们可以将代码的输出重定向到 stdout 以外的文件。但是您可能想知道为什么要这样做?原因可能是记录您的代码输出或使您的代码关闭,即不向标准输出发送任何输出。让我们看看如何用下面的例子来做到这一点。
示例 1:写入 stderr 而不是 stdout。
Python3
import sys
def print_to_stderr(*a):
# Here a is the array holding the objects
# passed as the argument of the function
print(*a, file = sys.stderr)
print_to_stderr("Hello World")
Python3
import sys
def print_to_stdout(*a):
# Here a is the array holding the objects
# passed as the argument of the function
print(*a, file = sys.stdout)
print_to_stdout("Hello World")
输出:
示例 2:写入标准输出
Python3
import sys
def print_to_stdout(*a):
# Here a is the array holding the objects
# passed as the argument of the function
print(*a, file = sys.stdout)
print_to_stdout("Hello World")
输出: