все Python 3sysпонятие
sys.stdout
потоки
Стандартный поток вывода — текстовый файловый объект, куда по умолчанию пишет print().
Синтаксис
import sys
sys.stdout.write('text\n')
Когда вывод уходит в файл или конвейер, sys.stdout буферизуется блоками, и строки появляются позже, чем ожидаешь, — помогает print(..., flush=True) или sys.stdout.flush(). sys.stdout можно подменить объектом с методом write, например io.StringIO, чтобы перехватить вывод; исходный поток всегда доступен как sys.__stdout__.
Примеры
import sys
n = sys.stdout.write('hello\n') # → hello
print(n) # → 6 — write возвращает число записанных символов
import io, sys
buffer = io.StringIO()
sys.stdout = buffer
print('captured')
sys.stdout = sys.__stdout__
print(repr(buffer.getvalue())) # → 'captured\n'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности