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

122

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

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

我希望它显示为:“Hello\tWorld\nHello\sWorld”

2个回答

213

使用repr函数:

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

请注意,\s不能表示空格。我希望那只是笔误……?

但如果你真的想用\s来表示空格,你可以这样做:

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

1
Python 3 是:print(repr(a)) - 07lodgeT

20
你仅仅想以那种方式打印字符串吗?还是你希望那成为字符串的内部表示?如果是后者,请使用前缀 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

此外,\s 不是转义字符,除了在正则表达式中使用时,即使在这种情况下,它的意义仍然与您的使用方式有很大不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接