\ X字符串我想作一個字符串,其中包括「\ X」,但我得到使包括蟒蛇
invalid \x escape
錯誤。
a = '\x'+''.join(lstDES[100][:2])+'\x'+''.join(lstDES[100][2:])
我該如何糾正它?
\ X字符串我想作一個字符串,其中包括「\ X」,但我得到使包括蟒蛇
invalid \x escape
錯誤。
a = '\x'+''.join(lstDES[100][:2])+'\x'+''.join(lstDES[100][2:])
我該如何糾正它?
雙反斜線從將其解釋爲特殊字符停止的Python:
'\\x'
或使用原始字符串字面量:
r'\x'
在常規的Python字符串文字,反斜槓信號的開始一個轉義序列,而\x
是一個通過十六進制字節值定義字符的序列。
你可以使用字符串格式化而不是所有的串聯這裏:
r'\x{0[0]}{0[1]}\x{0[2]}{0[3]}'.format(lstDES[100])
如果你正試圖定義基於從lstDES[100]
十六進制值的兩個字節,那麼你將不得不使用不同的方法;產生一個字符串\
,x
和兩個十六進制數字不會神奇地調用Python用於字符串文字的相同解釋。
你會使用binascii.unhexlify()
function對於代替:
import binascii
a = binascii.unhexlify(''.join(lstDES[100][:4]))
在Python \
用於轉義字符,如\n
一個換行符或\t
的標籤。
要使用文字字符串'\x'
,您需要使用兩個反斜槓,一個用於有效地轉義另一個,因此它將變爲'\\x'
。
In [199]: a = '\\x'
In [200]: print(a)
\x
你需要\\x
因爲\
用於轉義字符:
>>> s='\\x'+'a'
>>> print s
\xa
儘量使原始字符串如下:
a = r'\x'+''.join(lstDES[100][:2]) + r'\x'+''.join(lstDES[100][2:])