[英]KeyError: Backslash in Python Dictionary Key
我正在尝试用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的评论直接解决了这个问题。
我在Idle(2.7.6)中尝试过,它看起来有效:
>>> d={'text\/text':'test'}
>>> d
{'text\\/text': 'test'}
>>> d['text\/text']
'test'
>>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.