Can I redirect the stdout into some sort of string buffer?
Могу ли я перенаправить стандартный вывод в какой-то строковый буфер?
Я использую python ftplib для написания небольшого FTP-клиента, но некоторые функции в пакете не возвращают строковый вывод, а печатают в stdout. Я хочу перенаправить stdout на объект, из которого я смогу прочитать выходные данные.
Я знаю, stdout может быть перенаправлен в любой обычный файл с:
stdout = open("file", "a")
Но я предпочитаю метод, который не использует локальный диск.
Я ищу что-то вроде BufferedReader в Java, которое можно использовать для преобразования буфера в поток.
Переведено автоматически
Ответ 1
from cStringIO import StringIO # Python3 use: from io import StringIO import sys