我有一种刺痛,我想从中获取每个字符。但是,当此字符串包含反斜杠时,它似乎会抓取十六进制或其他内容。我正在使用 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'
。
答案 0 :(得分:2)
\x7f
表示python中的一个字符。
在python中,"\"
用于特殊字符等,\x7f
是删除字符(字节27)
"abc\x7fa"
的python表示形式为"abc\\x7fa"
。
答案 1 :(得分:0)
您的parse
功能可以通过拨打list
来替换。问题是反斜杠没有被转义,因此反斜杠和后续字符被解释为一个字符。试试list(r"abc\x7fa")
并查看raw strings。