KeyError:Python Dictionary Key中的反斜杠

时间:2014-01-23 19:47:46

标签: python dictionary backslash keyerror

我正在尝试用Python从请求对象的.text中使用json.loads()创建的字典中检索值:

'\/' 

作为某些字典键中的分隔符。字典是另一个不受我控制的程序的标准输出。

如果我尝试使用:

dictionary['text\/text']

它会生成一个KeyError,并表示没有

'text\\/text'

键。注意它插入的双反斜杠。

我试过了:

r'text\/text', 'text\\/text', 'text'+chr(92)+chr(47)+'text', etc

我似乎无法让这个工作。必须有一些方法来做到这一点,而不必解析整个字典的文本,并替换所有出现的'/'。有什么想法吗?

编辑:这对我来说是一个愚蠢的错误。我正在读取request.text中的键值,其中在正斜杠之前打印了一个额外的反斜杠。 Martijn Pieters的评论直接解决了这个问题。

1 个答案:

答案 0 :(得分:0)

我在空闲(2.7.6)中尝试过,它看起来有效:

>>> d={'text\/text':'test'}
>>> d
{'text\\/text': 'test'}
>>> d['text\/text']
'test'
>>>