dan*_*ast 9 python linux windows cross-platform newline
我在我的应用程序中生成了一些文本.由于文本是更大的消息的一部分,有时我需要添加换行符,有时不是:
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
Run Code Online (Sandbox Code Playgroud)
这可以使用如下:
def get_message():
msg = get_txt(True)
msg += get_txt(True)
msg += get_txt(False)
return msg
Run Code Online (Sandbox Code Playgroud)
哪个会回归:
Hello
Hello
Hello (no newline here)
Run Code Online (Sandbox Code Playgroud)
如何NEWLINE以跨平台方式定义?或者更好的是,标准库中是否有一个函数(或包含在python中),它可以在字符串中附加换行符?(不一定在打印时,只需在内存中添加换行符).使用的换行符应该是python正在运行的平台的正确行
我一直都使用换行符'\n'来表示换行符,尽管Windows使用换行符和回车符,但是我在Windows机器(python 3.4)上进行了测试,在内存中构建了一个字符串,然后在内存中将其写入文件它保留为单个字符('\n'),但是当写入文件时,它将转换为两个字符以使正确的行在Windows上结束。
到目前为止,我还没有遇到一个与此有关的库。
| 归档时间: |
|
| 查看次数: |
21267 次 |
| 最近记录: |