从字符串逐字抓取字符

问题描述 投票:2回答:2

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

arrays string python-3.x list char
2个回答
2
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.