Python 打印str的转义表示

Python 打印str的转义表示,python,escaping,Python,Escaping,如何打印字符串的转义表示,例如,如果我有: s = "String:\tA" 我希望输出: String:\tA 在屏幕上而不是 String: A java中的等效函数为: String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString); System.out.println(xy); 在中,您可以使用: 演示 这将给出引号,但您可以轻松地将其切掉: >>> print r

如何打印字符串的转义表示,例如,如果我有:

s = "String:\tA"
我希望输出:

String:\tA
在屏幕上而不是

String:    A
java中的等效函数为:

String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);

中,您可以使用:

演示

这将给出引号,但您可以轻松地将其切掉:

>>> print repr(s)[1:-1]
String:\tA

像往常一样,给打印报告(字符串)一个镜头

,在python中很容易:

print(repr(s))

print
使用处理转义的
str
。您需要
repr

>>> a = "Hello\tbye\n"
>>> print str(a)
Hello   bye

>>> print repr(a)
'Hello\tbye\n'

您想用
string\u escape
codec对字符串进行编码:

print s.encode('string_escape')
或者可以使用,它将字符串转换为python文本表示形式,包括引号:

演示:

>>> s = "String:\tA"
>>> print s.encode('string_escape')
String:\tA
>>> print repr(s)
'String:\tA'
在Python 3中,您将寻找
unicode\u escape
编解码器:

print(s.encode('unicode_escape'))
它将打印一个字节值。要将其转换回unicode值,只需从ASCII解码:

>>> s = "String:\tA"
>>> print(s.encode('unicode_escape'))
b'String:\\tA'
>>> print(s.encode('unicode_escape').decode('ASCII'))
String:\tA

也许你会感兴趣,尽管解决方案比你想要的要少一些。@MartijnPieters——以前从未见过。整洁+我只想再说一次,这很好。作为一个几乎完全使用ASCII的人,我并不经常考虑编码(尽管我正试图更加注意这一点)不幸的是,既然你是最重要的答案,我的答案很可能会停止获得选票;-)@我投票支持Martjin的答案,因为我不知道“string_escape”的存在,我投票支持mgilson的答案,因为我心情很好:)
>>> s = "String:\tA"
>>> print s.encode('string_escape')
String:\tA
>>> print repr(s)
'String:\tA'
print(s.encode('unicode_escape'))
>>> s = "String:\tA"
>>> print(s.encode('unicode_escape'))
b'String:\\tA'
>>> print(s.encode('unicode_escape').decode('ASCII'))
String:\tA