Python 解码和打印转义字符

Python 解码和打印转义字符,python,regex,encoding,utf-8,decoding,Python,Regex,Encoding,Utf 8,Decoding,我用正则表达式替换字符-,将其替换为>。但是,当输出替换的结果时,它会被转义。如何在输出时正确打印字符 #!/usr/bin/python # coding: utf-8 # -*- coding: utf-8 -*- import os, sys import re searchText = "SKY ROCKETS IN FLIGHT - AFTERNOON DELIGHT" result = re.sub("(\\-)", "»", searchText) resultdecoded

我用正则表达式替换字符
-
,将其替换为
>
。但是,当输出替换的结果时,它会被转义。如何在输出时正确打印字符

#!/usr/bin/python
# coding: utf-8
# -*- coding: utf-8 -*- 
import os, sys
import re

searchText = "SKY ROCKETS IN FLIGHT - AFTERNOON DELIGHT"
result = re.sub("(\\-)", "»", searchText)
resultdecoded = result.decode('string_escape') 
print("output:", resultdecoded)
(“输出:”,“飞行中的天空火箭\xc2\xbb下午乐”)


在Python 3中,
print
是一个函数,这将生成正确的输出

在Python2中,
print
是一条语句,您不是在打印两个不同的对象,而是在打印一个元组,它是通过将项目放在括号中并在它们之间加逗号创建的
(,)
。元组的字符串表示试图显示该字符串在程序中的外观


解决办法是去掉括号。

把括号从
打印的
中去掉。这显然是Python2,而不是Python3。@MarkRansom哇,这很简单(是的,这是Python2)。如果你把这个作为回答,我很乐意接受。谢谢:)还有一个问题,
#编码:utf-8
#-*-编码:utf-8-*-
-使用一个或两个比另一个更正确?@ctfd他们都会告诉Python您的源文件是utf-8。带有额外字符的一个也适用于Emacs,请参阅