从字符串逐字抓取字符

时间:2017-12-29 18:46:51

标签: arrays string python-3.x list char

我有一种刺痛,我想从中获取每个字符。但是,当此字符串包含反斜杠时,它似乎会抓取十六进制或其他内容。我正在使用 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'

2 个答案:

答案 0 :(得分:2)

\x7f表示python中的一个字符。 在python中,"\"用于特殊字符等,\x7f是删除字符(字节27) "abc\x7fa"的python表示形式为"abc\\x7fa"

答案 1 :(得分:0)

您的parse功能可以通过拨打list来替换。问题是反斜杠没有被转义,因此反斜杠和后续字符被解释为一个字符。试试list(r"abc\x7fa")并查看raw strings