有没有相当于echo -e
的python?Python等效于echo -e?
换句话说,是否有内置的函数在Python中将r"\x50\x79\x74\x68\x6f\x6e"
转换为"Python"
?
编辑 我添加了'r'前缀,以确保每个人都明白我不希望python解释器将其转换。相反,我想将该24个字符的字符串转换为6个字符的字符串。
有没有相当于echo -e
的python?Python等效于echo -e?
换句话说,是否有内置的函数在Python中将r"\x50\x79\x74\x68\x6f\x6e"
转换为"Python"
?
编辑 我添加了'r'前缀,以确保每个人都明白我不希望python解释器将其转换。相反,我想将该24个字符的字符串转换为6个字符的字符串。
要做到这一点,正确的方法,我只是发现是
>>> a = r"\x50\x79\x74\x68\x6f\x6e"
>>> print a
\x50\x79\x74\x68\x6f\x6e
>>> a.decode('string_escape')
'Python'
确保您逃离反斜杠(或者使用原始“R”前缀)测试这个时候!
参考文献:
感谢您提及'r'符号,我不记得那些:)请记住,如果您认为它是最好的答案,那么确定(甚至鼓励)接受您自己的答案。 – Kos
@Downvoter - 照顾评论? –
没有转换是必要的。他们已经同一串
>>> "\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'
在哪里这个输入来自哪里,你如何观看它? –
这实际上来自'strace -xx'的输出。 –
我试图通过添加r来进行编辑,但是你在几秒钟内击败了我。 :) –