Если вы раскалываете новую строку, используйте splitlines(True)
.
>>> 'line 1\nline 2\nline without newline'.splitlines(True)
['line 1\n', 'line 2\n', 'line without newline']
(Не общее решение, но добавив это здесь, если кто-то приходит сюда, не понимая этого метод существует.)
- никакой и следующие флаг не заставляет слияние всегда создавать новый объект фиксации, даже если слияние могло бы быть выполнено с ускоренной перемоткой вперед. Это старается не проигрывать, информация об историческом существовании функции переходят, и группируется все фиксации, которые вместе добавили опцию