所以我正在开发一个程序,它以前可以很好地保存/加载,我有所有正确的导入等等,但是最近,当我试图加载时,我收到了这个错误消息(在保存期间也有类似的错误消息):
Traceback (most recent call last):
File "C:\Users\Adam\AppData\Local\Programs\Python\Python36\lib\shelve.py", line 111, in __getitem__
value = self.cache[key]
KeyError: 'flipvariables'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\BascGames\ManorI\MANOR.py", line 241, in <module>
flipvariables = sf['flipvariables']
File "C:\Users\Adam\AppData\Local\Programs\Python\Python36\lib\shelve.py", line 113, in __getitem__
f = BytesIO(self.dict[key.encode(self.keyencoding)])
File "C:\Users\Adam\AppData\Local\Programs\Python\Python36\lib\dbm\dumb.py", line 147, in __getitem__
pos, siz = self._index[key] # may raise KeyError
KeyError: b'flipvariables'
引发错误的代码(在两个地方,在两个不同的时间,但它们有完全相同的代码——这是重新加载代码,使用SHELVE):
^{pr2}$有人知道这可能是什么以及如何修复它吗?提前谢谢。我理解基本原理,理解线条的含义,但是错误的基本概念对我来说没有意义。谢谢!在
键错误是指字典的键不存在。例如
如果我使用
person['last_name']
调用键last_name
,Python会抛出一个KeyError
,因为给定字典的键不存在。在你的错误中:}不存在。
KeyError: b'flipvariables'
表示给定字典的键{根据回溯中的
flipvariables = sf['flipvariables']
行,查看代码中的sf
字典,看看flipvariables
键是否在那里,如果需要,可以添加它。相关问题 更多 >
编程相关推荐