все Python 3Байтовые последовательностифункция
bytes.splitlines
bytes — разбиение и соединение
Разбивает байты по границам строк.
Синтаксис
b.splitlines(...)
Главное отличие от b.split(b'\n') — разделителями считаются \n, \r и пара \r\n целиком, и завершающий перевод строки не порождает лишний пустой элемент в конце. У пустых байтов результат — пустой список, а не список из одного пустого элемента, так что счётчик строк по файлу с ним не соврёт. Других границ у байтов нет: str.splitlines делит текст ещё и по \v, \f, \x1c–\x1e и юникодным разделителям, а bytes оставит их внутри строки.
Примеры
print(b'a\nb'.splitlines()) # → [b'a', b'b']
print(b'a\nb'.splitlines(keepends=True)) # → [b'a\n', b'b']
print(b'a\r\nb'.splitlines()) # → [b'a', b'b']
print(b'a\nb\n'.splitlines()) # → [b'a', b'b']
print(b'a\nb\n'.split(b'\n')) # → [b'a', b'b', b'']
print(b''.splitlines()) # → []
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности