有沒有相當於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來進行編輯,但是你在幾秒鐘內擊敗了我。 :) –