Python中的换行常量类似C++的std::endl

6 投票
3 回答
10481 浏览
提问于 2025-04-17 07:23

我在格式化一个字符串(在魔法方法 __str__ 中),我不想直接使用原始的 "\n""\r\n" 来换行。

请问,Python 有没有像 C++ 中的 std::endl 那样的跨平台换行标识符呢?

我试着在网上搜索,但没找到答案。

3 个回答

6

使用 \n 没有什么问题——你为什么不想用它呢?跨平台的问题主要是在写文件的时候才会出现,而 file 对象会帮你处理这些问题。

8

不行。使用 \n。在C++中,std::endl 其实就是 "\n" << std::flush,而且它并不是更跨平台,这个“跨平台”也不太好理解。它只是更慢,因为它会强制刷新输出。

17

你可以试试用 os.linesep。它会给你当前操作系统合适的换行符:

>>> import os
>>> os.linesep
'\n'
>>> print "line one" + os.linesep + "line two"
line one
line two

撰写回答