gpt4 book ai didi

python - 有没有办法将 stderr 重定向到 Jupyter 中的文件?

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:45 26 4
gpt4 key购买 nike

IPython.utils 中有一个 redirect_output 函数,还有一个 %%capture 魔法函数,但现在都没有了,this thread关于这个话题现在已经过时了。

我想做如下的事情:

from IPython.utils import io
from __future__ import print_function
with io.redirect_output(stdout=False, stderr="stderr_test.txt"):
while True:
print('hello!', file=sys.stderr)

想法?对于更多上下文,我试图捕获一些运行数小时或数天的 ML 函数的输出,并每 5-10 秒向 stderr 输出一行。然后我想获取输出,munge 它并绘制数据。

最佳答案

您可以尝试用与建议相同的方式将 sys.stderr 替换为其他文件描述符 here .

import sys
oldstderr = sys.stderr
sys.stderr = open('log.txt', 'w')
# do something
sys.stderr = oldstderr

更新:从 Python 3.4 开始,您应该考虑使用 contextlib.redirect_stdout()相反,像这样:

f = io.StringIO()
with redirect_stdout(f):
print('a')
s = f.getvalue()

关于python - 有没有办法将 stderr 重定向到 Jupyter 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145950/

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