我如何在Python中指明字符串中的换行符,以便我可以将多行写入文本文件?


当前回答

新的行字符是\n。它用于字符串内部。

例子:

    print('First line \n Second line') 

其中\n是换行符。

这将产生如下结果:

First line
 Second line

如果使用Python 2,则不对打印函数使用圆括号。

其他回答

'\n'也是一样,不过你可能不需要'\r'。在Java版本中使用它的原因是什么?如果你确实需要/想要它,你也可以在Python中以同样的方式使用它。

新的行字符是\n。它用于字符串内部。

例子:

    print('First line \n Second line') 

其中\n是换行符。

这将产生如下结果:

First line
 Second line

如果使用Python 2,则不对打印函数使用圆括号。

值得注意的是,当你使用交互式Python shell或Jupyter Notebook检查字符串时,\n和其他反划字符串(如\t)会逐字呈现:

>>> gotcha = 'Here is some random message...'
>>> gotcha += '\nAdditional content:\n\t{}'.format('Yet even more great stuff!')
>>> gotcha
'Here is some random message...\nAdditional content:\n\tYet even more great stuff!'

换行符、制表符和其他特殊的非打印字符只有在打印或写入文件时才会呈现为空白:

>>> print('{}'.format(gotcha))
Here is some random message...
Additional content:
    Yet even more great stuff!

正如在其他回答中提到的:“新的行字符是\n。它在字符串中使用”。

我发现最简单易读的方法是使用“format”函数,使用nl作为新行名称,并将你想打印的字符串转换为你要打印的确切格式:

Python 2:

print("line1{nl}"
      "line2{nl}"
      "line3".format(nl="\n"))

Python 3:

nl = "\n"
print(f"line1{nl}"
      f"line2{nl}"
      f"line3")

这将输出:

line1
line2
line3

通过这种方式,它可以执行任务,并且还提供了代码的高可读性:)

这取决于你想要多正确。\n通常会做这项工作。如果你真的想要正确,你可以在os包中查找换行符。(这实际上叫做linesep。)

注意:当使用Python API写入文件时,不要使用os.linesep。只使用\n;Python会自动将其转换为适合您平台的换行符。