我在應用程序中生成一些文本。由於該文本是一個更大的消息的一部分,有時候我需要添加新行,有時沒有:將新行添加到字符串,跨平臺
def get_message():
msg = get_txt(True)
msg += get_txt(True)
msg += get_txt(False)
return msg
這將返回:
Hello
Hello
Hello (no newline here)
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
如下這可以用於
如何以跨平臺的方式定義NEWLINE
?或者更好的是,標準庫(或包含在Python中)是否有一個函數可以在字符串中添加換行符? (不一定在打印時,只需在存儲器中向字符串添加換行符)。使用的換行符應該是python運行的平臺的正確版本
你在代碼註釋中提到你嘗試'os.linesep'? –
@IronFist:我沒有Windows機器可以測試,並且我已經使用'os.linesep'(http://stackoverflow.com/q/21636213/647991)再次看到了引用。我想知道在字符串中嵌入換行符的規範方式,而不打印。我需要的可能是印刷廠在內部使用換行符,但我不確定。 – dangonfast
所以......應該回答......不是......這是一個實現細節,你不需要關注......根據你在編寫文件的平臺,Python將確保結束該行以相應的行結束。 –