【问题标题】:Grab chars verbatim from string从字符串中逐字抓取字符
【发布时间】:2017-12-29 18:46:50
【问题描述】:

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


    【解决方案1】:

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

    【讨论】:

    • 确实!也可以考虑一个原始字符串文字,r"abc\x7fa",其中不解释反斜杠。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-22
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      相关资源
      最近更新 更多