我有一种刺痛,我想从中获取每个字符。但是,当此字符串包含反斜杠时,它似乎会抓取十六进制或其他内容。我正在使用python3。
def parse(content):
tmp = []
for c in content:
tmp.append(row[c])
return tmp
当我运行它时,我得到以下输出:
>>> parse("abc\x7fa")
['a', 'b', 'c', '\x7f', 'a']
显然,这不是我想要的。我想要以下输出:
>>> parse("abc\x7fa")
['a', 'b', 'c', '\', 'x', '7', 'f', 'a']
我也尝试了其他替代方案,例如使用
for c in row:
和:
return [c for c in content]
但是他们都坚持在输出中保持'\x7f'
。
\x7f
代表python中的一个字符。在python中,"\"
用于特殊字符等,而\x7f
是删除字符(字节27)"abc\x7fa"
的python表示是"abc\\x7fa"
。
您的parse
函数可以通过调用list
来替换。问题是反斜杠没有被转义,因此反斜杠和后续字符被解释为一个字符。试试list(r"abc\x7fa")
,看看raw strings。