Ответ 1
Используйте метод разделенных строк в строке.
Из документов:
str.splitlines([keepends]) Возвращает список строк в строке, разбивая границы строк. Разрывы строк не включены в список, за исключением случаев, когда дано и верно.
Это будет сделано правильно, независимо от того, заканчиваются ли строки "\ r\n", "\ r" или "\n" независимо от ОС.
NB конец строки "\n\r" также будет разбит, но вы получите пустую строку между каждой строкой, так как она рассмотрит "\n" как допустимую строку и "\ r" в качестве окончания следующая строка. например.
>>> "foo\n\rbar".splitlines()
['foo', '', 'bar']