作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Python2.7 并且我想要函数:contextlib.redirect_stdout .
我的意思是,我想重定向特定函数的输出(不是所有程序)。
问题是 - 只有 Python3 支持“context.redirect_stdout”而没有 Python2.7。
有人知道如何在 Python2.7 中使用相同的函数或实现相同的想法吗?
提前致谢
最佳答案
如果您不担心重复使用相同的上下文管理器对象,这样的事情应该可以完成这项工作。
import sys
import contextlib
@contextlib.contextmanager
def redirect_stdout(target):
original = sys.stdout
try:
sys.stdout = target
yield
finally:
sys.stdout = original
关于python - Python2.7 中的 contextlib.redirect_stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226221/
自从我知道了这个模式,我就一直在使用 with open('myfile.txt','w') as myfile: with contextlib.redirect_stdout(myfile
我在 Ubuntu 上使用 Python3.5。以下脚本创建一个文件 out 并用越来越多的“Hello”行填充它: import contextlib with contextlib.redirec
我使用 Python2.7 并且我想要函数:contextlib.redirect_stdout . 我的意思是,我想重定向特定函数的输出(不是所有程序)。 问题是 - 只有 Python3 支持“c
documentation为 redirect_stdout在我目前使用的 1.1.0 版本上,似乎没有给出如何使用该功能的示例。也许我错过了? 我想捕获 println 的输出并将其作为字符串取回。
我是一名优秀的程序员,十分优秀!