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