使用print语句时显示特殊字符

Ian*_*ips 78 python printing escaping character

我想在使用print语句时显示转义字符.例如

a = "Hello\tWorld\nHello World"
print a
Hello   World
Hello World
Run Code Online (Sandbox Code Playgroud)

我希望它能显示:"Hello\tWorld \nHello\sWorld"

unu*_*tbu 146

使用repr:

a = "Hello\tWorld\nHello World"
print(repr(a))
# 'Hello\tWorld\nHello World'
Run Code Online (Sandbox Code Playgroud)

请注意,你没有\s空间.我希望这是一个错字......?

但如果你真的想要\s空间,你可以这样做:

print(repr(a).replace(' ',r'\s'))
Run Code Online (Sandbox Code Playgroud)


rob*_*ert 14

你只是想以那种方式打印字符串,还是希望它是字符串的内部表示?如果是后者,则通过为其添加前缀来将其创建为原始字符串r:r"Hello\tWorld\nHello World".

>>> a = r"Hello\tWorld\nHello World"
>>> a # in the interpreter, this calls repr()
'Hello\\tWorld\\nHello World'
>>> print a
Hello\tWorld\nHello World
Run Code Online (Sandbox Code Playgroud)

此外,\s除了正则表达式之外,它不是转义字符,然后它仍然具有与您使用它的意义大不相同的含义.