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')给出了我想要的输出(也是最后一个示例)。
但是我要打印的字符串是未定义为原始字符串的变量。
不用说我不能手动在字符串中添加反斜杠。
用于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)