我在 python 中遇到关键错误

新手上路,请多包涵

在我的 python 程序中,我收到此错误:

 KeyError: 'variablename'

从这段代码:

 path = meta_entry['path'].strip('/'),

谁能解释为什么会这样?

原文由 David Liaw 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
2 个回答

A KeyError 通常表示密钥不存在。那么,您确定 path 密钥存在吗?

来自官方 python 文档:

异常键错误

当在现有键集中找不到映射(字典)键时引发。

例如:

 >>> mydict = {'a':'1','b':'2'}
>>> mydict['a']
'1'
>>> mydict['c']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'c'
>>>

所以,尝试打印 meta_entry 的内容并检查 path 是否存在。

 >>> mydict = {'a':'1','b':'2'}
>>> print mydict
{'a': '1', 'b': '2'}

或者,您可以这样做:

 >>> 'a' in mydict
True
>>> 'c' in mydict
False

原文由 RanRag 发布,翻译遵循 CC BY-SA 3.0 许可协议

我完全同意关键错误评论。您也可以使用 字典的 get() 方法来避免异常。这也可用于提供默认路径而不是 None ,如下所示。

 >>> d = {"a":1, "b":2}
>>> x = d.get("A",None)
>>> print x
None

原文由 Adam Lewis 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题