如何在Python中打印反斜杠转义的字符串以输出'\ n'?

Ane*_*pic 0 python

In [4]: import re

In [5]: print(re.escape('\n'))
\


In [6]: print(re.escape(r'\n'))
\\n

In [7]: print(r'\n')
\n

In [8]: print('\n')


In [9]: print('\\n')
\n
Run Code Online (Sandbox Code Playgroud)

第三个示例print(r'\n')给出了我想要的输出(也是最后一个示例)。

但是我要打印的字符串是未定义为原始字符串的变量。

不用说我不能手动在字符串中添加反斜杠。

Cha*_*ffy 5

用于repr()将值打印为Python代码:

print(repr('\n'))
Run Code Online (Sandbox Code Playgroud)

...将发出:

'\n'
Run Code Online (Sandbox Code Playgroud)

如果要删除开头和结尾字符,请执行以下操作:

print(repr('\n')[1:-1])
Run Code Online (Sandbox Code Playgroud)

...只会发射

\n
Run Code Online (Sandbox Code Playgroud)

...但是这不是面向未来的(某些字符串可能会以不同的引号发出,如果不是今天,则在将来的实现中;因此在输出中包括文字引号是安全的选择)。


请注意,在格式字符串中,可以使用!r修饰符指示要repr()应用的字符串:

print('Value: {!r}'.format('\n'))
Run Code Online (Sandbox Code Playgroud)

...将发出:

Value: '\n'
Run Code Online (Sandbox Code Playgroud)