我可以将python中的stdout重定向到某种字符串缓冲区吗?

我使用python ftplib编写了一个小型FTP客户端,但程序包中的某些功能不会返回字符串输出,而是输出到stdout。我想重定向stdout到一个我将能够从中读取输出的对象。

我知道stdout可以使用以下命令将其重定向到任何常规文件中:

stdout = open("file", "a")

但是我更喜欢不使用本地驱动器的方法。

我正在寻找类似BufferedReaderJava的东西,可用于将缓冲区包装到流中。

回答:

from cStringIO import StringIO # Python3 use: from io import StringIO

import sys

old_stdout = sys.stdout

sys.stdout = mystdout = StringIO()

# blah blah lots of code ...

sys.stdout = old_stdout

# examine mystdout.getvalue()

以上是 我可以将python中的stdout重定向到某种字符串缓冲区吗? 的全部内容, 来源链接: utcz.com/qa/415692.html

回到顶部