2011-09-01 74 views
3

有没有相当于echo -e的python?Python等效于echo -e?

换句话说,是否有内置的函数在Python中将r"\x50\x79\x74\x68\x6f\x6e"转换为"Python"

编辑 我添加了'r'前缀,以确保每个人都明白我不希望python解释器将其转换。相反,我想将该24个字符的字符串转换为6个字符的字符串。

+0

在哪里这个输入来自哪里,你如何观看它? –

+0

这实际上来自'strace -xx'的输出。 –

+0

我试图通过添加r来进行编辑,但是你在几秒钟内击败了我。 :) –

回答

10

要做到这一点,正确的方法,我只是发现是

>>> a = r"\x50\x79\x74\x68\x6f\x6e" 
>>> print a 
\x50\x79\x74\x68\x6f\x6e 
>>> a.decode('string_escape') 
'Python' 

确保您逃离反斜杠(或者使用原始“R”前缀)测试这个时候!

参考文献:

+0

感谢您提及'r'符号,我不记得那些:)请记住,如果您认为它是最好的答案,那么确定(甚至鼓励)接受您自己的答案。 – Kos

+1

@Downvoter - 照顾评论? –

3

没有转换是必要的。他们已经同一串

>>> "\x50\x79\x74\x68\x6f\x6e" == "Python" 
True 

如果实际上有不同的字符串"\\x50\\x79\\x74\\x68\\x6f\\x6e"实际上包含反斜杠("\x50\x79\x74\x68\x6f\x6e"包含任何反斜杠),那么你会做

>>> s 
'\\x50\\x79\\x74\\x68\\x6f\\x6e' 
>>> s.decode('string-escape') 
'Python'