Python's splitlines does more than just newlines
Python действительно разбивает строку не только по \n, \r и \r\n, но и по целому ряду юникод-разделителей: \x1c, \x1d, \x1e, \x85, \u2028, \u2029 и другим. Это означает, что splitlines() может разбивать строку на части там, где вы этого не ожидаете.