不了解KeyError:

时间:2019-01-05 22:16:03

标签: python

我正在尝试创建交互式词典。文件data.json是单词定义的存储位置。我希望代码能查找用户输入的单词的定义并在终端中打印出来。

import json

data = json.load(open("data.json", 'r'))
item = input("Enter word you are looking for: ")
data["%s", item]
print(data) 

但是我不断出现以下错误

Enter word you are looking for: rain
Traceback (most recent call last):
  File "C:\Users\Hassan\eclipse-workspace\FTS\src\FirstModule.py", line 10, in <module>
    data["%s", item]
KeyError: ('%s', 'rain')

我不知道是什么导致了错误或如何解决该错误。有人可以指出我在哪里犯错,并提出可能的解决方案。

预先感谢

2 个答案:

答案 0 :(得分:1)

只需将data["%s", item]更改为data[item]。您有一个字符串存储在item变量中,并且希望将其用作字典的索引。那应该可以解决关键错误。

答案 1 :(得分:0)

KeyError表示仅在您的字典中不存在元组('%s', 'rain')

现在您必须问自己,为什么要让该对象(该元组)成为字典中的键,为什么还不存在。