我正在使用python的ftplib
写一个小的FTP客户端,但是包中的一些函数不返回字符串输出,而是打印到stdout
。我想将 stdout
重定向到一个可以从中读取输出的对象。
我知道 stdout
可以重定向到任何常规文件:
stdout = open("file", "a")
但我更喜欢不使用本地驱动器的方法。
我正在寻找类似于 Java 中的 BufferedReader
的东西,它可以用来将缓冲区包装到流中。
最佳答案
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 - 我可以将标准输出重定向到某种字符串缓冲区吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1218933/