我可以将python中的stdout重定向到某种字符串缓冲区吗?
我使用python ftplib
编写了一个小型FTP客户端,但程序包中的某些功能不会返回字符串输出,而是输出到stdout
。我想重定向stdout
到一个我将能够从中读取输出的对象。
我知道stdout
可以使用以下命令将其重定向到任何常规文件中:
stdout = open("file", "a")
但是我更喜欢不使用本地驱动器的方法。
我正在寻找类似BufferedReaderJava
的东西,可用于将缓冲区包装到流中。
回答:
from cStringIO import StringIO # Python3 use: from io import StringIOimport 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