在Python中,如何将具有新行(\n)的字符串写入一行文件中?

在Python中,如何将具有新行(\n)的字符串写入一行文件中?,python,string,Python,String,假设我有一个字符串str=“abc\n\ndef”,我想按原样将其写入一个文件中。我使用file.write(str),但是,新行将被展开,文件将类似于 abc def 有没有一种方法可以将其写入一行?如果您不希望\n变成换行符,请使用r字符串: str=r"abc\n\ndef" file.write(str) 我想您的意思是想要一个带有“abc\n\ndef”的文件。如果是,可以通过转义转义字符: str=“abc\\n\\ndef” 这将打印“abc\n\nde

假设我有一个字符串
str=“abc\n\ndef”
,我想按原样将其写入一个文件中。我使用
file.write(str)
,但是,新行将被展开,文件将类似于

abc


def

有没有一种方法可以将其写入一行?

如果您不希望
\n
变成换行符,请使用r字符串:

str=r"abc\n\ndef"
file.write(str)

我想您的意思是想要一个带有“abc\n\ndef”的文件。如果是,可以通过转义转义字符:
str=“abc\\n\\ndef”

这将打印“abc\n\ndef”

编辑

如果不需要“”,请使用:

str="abc\n\ndef"
file.write(str.replace("\n", "\\n"))

您确实使用了2
\n
's。您知道
“abc\n\ndef”
是字符串的表示,而不是内容吗?该字符串有6个字符:a、b、c、d、e、f和2个换行符。字符串中没有反斜杠和字符“n”。所以“按原样写”不是你想要的。好主意,但现在输出中有了单引号。当你已经有了变量(即你没有访问字符串定义的权限)时,如何使用r字符串?@JohnM。不清楚你吃了什么。
str="abc\n\ndef"
file.write(str.replace("\n", "\\n"))