Задать вопрос
UkaUkaa
@UkaUkaa
По специальности программист, по жизни леньтяй

Почему по разному читается текст?

Пишу консольное уведомление почты.
Написал все работает как конфетка, все \n выставляет и т.д. Но как только я решил поставить его на сервер, то происходит сущий ад.
Код который работает как надо на локалке, на сервере ломается. Текст становиться не читабельным, и пропускает все \n.
Пример снизу
На локалке:
Я пришел домой
Съел сир
лег спать.

На сервере:
Я пришел домойСъел сирлег спать.


Пытался принудительно с почты ставить перенос строки, но и это не помогает.
Что делать и в чем может быть ошибка?
Сервер стоит на винде

P.S. Я написал пример как происходит. На почте очень много переносов, по этому просто становиться невыносимо все читать.
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

https://docs.python.org/3/library/functions.html#o...
newline controls how universal newlines mode works (it only applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works as follows:

When reading input from the stream, if newline is None, universal newlines mode is enabled. Lines in the input can end in '\n', '\r', or '\r\n', and these are translated into '\n' before being returned to the caller. If it is '', universal newlines mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.

When writing output to the stream, if newline is None, any '\n' characters written are translated to the system default line separator, os.linesep. If newline is '' or '\n', no translation takes place. If newline is any of the other legal values, any '\n' characters written are translated to the given string.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы