gpt4 book ai didi

python - 如何在 Python 中拦截 stdout 的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:53 27 4
gpt4 key购买 nike

我在 Django 中创建了一个自定义命令,将一些输出输出到标准输出。我如何拦截 stdout 进行一些更改(例如添加前缀)并写入 stderr?这是测试任务,所以不要注意问题的逻辑性。

最佳答案

您可以像这样使用 StringIO:

from io import StringIO
import sys

old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()

print("test")

sys.stdout = old_stdout

s = mystdout.getvalue()
s = "prefix" + s

sys.stderr.write(s)

代码将 stdout 捕获到缓冲区,然后读取缓冲区,添加 prefix 并写入 stderr

另见:

关于python - 如何在 Python 中拦截 stdout 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com