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

时间:2011-06-25 12:50:36

标签: python printing escaping character

我想在使用print语句时显示转义字符。 E.g。

a = "Hello\tWorld\nHello World"
print a
Hello   World
Hello World

我希望它显示:     “你好\ t世界\ nHello \ sWorld”

3 个答案:

答案 0 :(得分:134)

使用repr

a = "Hello\tWorld\nHello World"
print repr(a)
# 'Hello\tWorld\nHello World'

请注意,您不会获得\s空格。我希望这是一个错字......?

但是如果你确实想要\s作为空格,你可以这样做:

print repr(a).replace(' ',r'\s')

答案 1 :(得分:14)

您是否只想以这种方式打印字符串,还是希望将其作为字符串的内部表示?如果是后者,请在r前加r"Hello\tWorld\nHello World"作为raw string创建。{/ 1}}。

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

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

答案 2 :(得分:-7)

其他答案看起来更好。另外,我认为这也应该有效。我在另一个'\'的前面添加了'\'以逃避它们。

a = "Hello\\tWorld\\nHello World"

print a