Добавить новую строку в строку, кросс-платформенный

Я генерирую текст в своем приложении. Поскольку текст является частью более крупного сообщения, иногда мне нужно добавлять новые строки, а иногда нет:

NEWLINE = '\n'  # TODO: how to define this cross-platform? Can I use os.linesep?

def get_txt(add_newline=False):
    txt = 'Hello'
    if add_newline:
        txt += NEWLINE
    return txt

Это можно использовать следующим образом:

def get_message():
    msg = get_txt(True)
    msg += get_txt(True)
    msg += get_txt(False)
    return msg

Что будет возвращаться:

Hello
Hello
Hello (no newline here)

Как определить NEWLINE кроссплатформенным образом? Или, что еще лучше, есть ли в стандартной библиотеке (или включена в python) функция, которая может добавлять новую строку в строку? (не обязательно при печати, просто добавьте новую строку в строку в памяти). Используемая новая строка должна быть правильной для платформы, на которой работает python

9
задан dangonfast 26 February 2016 в 14:37
поделиться