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.