Python Glossary English

все 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Сообщить о неточности