Python Glossary English

все Python 3ioпонятие

io.IncrementalNewlineDecoder

служебные

Инкрементальный декодер, приводящий переводы строк к '\n' (universal newlines) по мере поступления байтов; используется текстовыми потоками.

Синтаксис

io.IncrementalNewlineDecoder(decoder, translate)

Декодер помнит состояние между вызовами: если очередной кусок данных обрывается на '\r', этот символ придерживается до следующего вызова — пока неизвестно, одиночный это перевод строки или половина '\r\n'. Из-за этого decode() иногда возвращает меньше, чем вы подали, и в конце потока нужен завершающий вызов с final=True. Руками его почти не создают: это внутренний помощник TextIOWrapper для файлов, открытых с newline=None.

Примеры

import io, codecs
base = codecs.getincrementaldecoder('utf-8')()
d = io.IncrementalNewlineDecoder(base, translate=True)
print(repr(d.decode(b'a\r\nb')))   # → 'a\nb'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности