str.splitlines()

Метод splitlines() разбивает строку на список строк по символам перевода строки: \n, \r, \r\n и другим (например, \v, \f, \x1c). В отличие от split("\n"), метод корректно учитывает разные форматы переноса и не создаёт пустой элемент в конце, если строка оканчивается переводом строки.

Сигнатура

str.splitlines(keepends=False)

Параметры

  • keepends — если True, символы перевода строки сохраняются в каждом элементе списка. По умолчанию False.

Возвращаемое значение

Список строк. Для пустой строки возвращается пустой список.

Примеры использования

Пример 1. Базовое разбиение.

text = "PIN=13\nBAUD=9600\nMODE=OUTPUT"
print(text.splitlines())
['PIN=13', 'BAUD=9600', 'MODE=OUTPUT']

Пример 2. Сравнение с split().

text = "line1\nline2\n"
print(text.split("\n"))
print(text.splitlines())
['line1', 'line2', '']
['line1', 'line2']

Пример 3. Сохранение переводов строк.

text = "A\nB\nC"
print(text.splitlines(keepends=True))
['A\n', 'B\n', 'C']

Пример 4. Поддержка разных переводов строк.

mixed = "first\r\nsecond\rthird\nfourth"
for line in mixed.splitlines():
    print(line)
first
second
third
fourth

Пример 5. Подсчёт строк в файле логов.

log = "INFO: start\nINFO: pin 13 OK\nERROR: sensor fail\nINFO: stop\n"
lines = log.splitlines()
errors = [l for l in lines if l.startswith("ERROR")]
print(f"Всего строк: {len(lines)}, ошибок: {len(errors)}")
Всего строк: 4, ошибок: 1

См. также

  • str.split() — разбиение по произвольному разделителю

  • str.join() — объединение списка обратно в строку

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.