我正在申请中生成一些文字。由于文本是更大的消息的一部分,有时我需要添加换行符,有时不是:
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正在运行的平台正确的
答案 0 :(得分:9)
你可以试试这个:
let landmark = LandmarkViewController()
landmark.test()
答案 1 :(得分:5)
我总是只使用换行符'\n'
来表示换行符,虽然windows使用换行符和回车符,我在我的Windows机器上测试(python 3.4)在内存中构建一个字符串然后将其写入文件,而在内存中它保持为单个字符('\n'
)但是当写入文件时,它会被转换为两个字符,以便在窗口上以正确的行结束。
到目前为止,我还没有遇到过一个存在问题的图书馆。
答案 2 :(得分:1)
Python 使用\n
来表示换行符。
Python 会根据平台自动将\n
转换为适当的换行符。
您也可以尝试
import os
print (os.linesep)
答案 3 :(得分:0)
您需要打印消息以使其显示为新行。
get_txt()
msg = get_message()
print(msg)
会给您:
Hello
Hello
Hello
只需确保打印到文件即可。