2011-09-01 105 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'