Сообщить об ошибке.

Пример использования io.TextIOWrapper()

Необработанные потоки байтов, такие как сокеты, могут быть обернуты io.TextIOWrapper для обработки кодирования и декодирования строк, что упрощает их использование с текстовыми данными. Класс TextIOWrapper поддерживает запись и чтение. Аргумент write_through отключает буферизацию и немедленно сбрасывает все данные, записанные в обертку базового буфера.

Пример:

Пример использования io.TextIOWrapper() в качестве потока использует экземпляр io.BytesIO.

import io

# Writing to a buffer
output = io.BytesIO()
wrapper = io.TextIOWrapper(
    output,
    encoding='utf-8',
    write_through=True,
)
wrapper.write('This goes into the buffer. ')
wrapper.write('ÁÇÊ')

# Retrieve the value written
print(output.getvalue())

output.close()  # discard buffer memory

# Initialize a read buffer
input = io.BytesIO(
    b'Inital value for read buffer with unicode characters ' +
    'ÁÇÊ'.encode('utf-8')
)
wrapper = io.TextIOWrapper(input, encoding='utf-8')

# Read from the buffer
print(wrapper.read())