Печать в файл в кодировке UTF-8 с зависящими от платформы символами новой строки?

Как лучше всего записать в файл в кодировке UTF-8 файлы с новой строкой, зависящие от платформы? в идеале решение должно работать совершенно прозрачно в программе, которая много печатает на Python 2. (Информация о Python 3 тоже приветствуется!)

Фактически, стандартный способ записи в файл UTF-8 выглядит так: codecs.open ('name.txt', 'w') . Однако в документации указано, что

(…) автоматическое преобразование '\ n' при чтении и записи не выполняется.

потому что файл фактически открывается в двоичном режиме. Итак, как записать в файл UTF-8 правильные символы новой строки, зависящие от платформы?

Примечание: режим 't', похоже, действительно выполняет работу (codecs.open ('name.txt', 'wt')) с Python 2.6 в Windows XP, но задокументировано ли это и гарантированно ли работает?

11
задан Eric O Lebigot 10 May 2011 в 09:47
поделиться