Python, формат строки, символ новой строки (C ++ - std :: endl) - PullRequest
4 голосов
/ 30 ноября 2011

Я форматирую строку (в операторе перегрузки str ) и не хочу использовать необработанные теги \ n или \ r \ n. Есть ли в Python кросс-платформенный идентификатор новой строки, такой как std :: endl в C ++?

Я пытаюсь найти его в Google, но не нашел ответа.

Ответы [ 3 ]

15 голосов
/ 30 ноября 2011

Как насчет использования os.linesep?Он содержит соответствующий разделитель строк для вашей ОС:

>>> import os
>>> os.linesep
'\n'
>>> print "line one" + os.linesep + "line two"
line one
line two
7 голосов
/ 30 ноября 2011

Нет. Используйте \n. А в C ++ std::endl - это не что иное, как "\n" << std::flush, и не более кроссплатформенный, что бы это ни значило. Это только медленнее, так как оно вызывает промывку.

6 голосов
/ 30 ноября 2011

В использовании \n нет ничего плохого - почему вы не хотите его использовать? Кросс-платформенная проблема актуальна только при записи в файлы, и об этом позаботится file -объект.

...