我在python中遇到关键错误

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


KeyError: 'variablename'

从此代码:


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

谁能解释为什么会这样吗?


慕田峪7331174
浏览 307回答 3
3回答

拉风的咖菲猫

一个KeyError通常意味着该键不存在。那么,您确定path密钥存在吗?来自官方python文档:异常KeyError在现有键集中找不到映射(字典)键时引发。例如:>>> mydict = {'a':'1','b':'2'}>>> mydict['a']'1'>>> mydict['c']Traceback (most recent call last):&nbsp; File "<stdin>", line 1, in <module>KeyError: 'c'>>>因此,尝试打印的内容meta_entry并检查是否path存在。>>> mydict = {'a':'1','b':'2'}>>> print mydict{'a': '1', 'b': '2'}或者,您可以执行以下操作:>>> 'a' in mydictTrue>>> 'c' in mydictFalse

慕雪6442864

我完全同意主要错误评论。您也可以使用字典的get()方法来避免出现异常。这也可以用于提供默认路径,而不是None如下所示。>>> d = {"a":1, "b":2}>>> x = d.get("A",None)>>> print x

小怪兽爱吃肉

是的,它很可能是由不存在的密钥引起的。在我的程序中,出于效率考虑,我使用setdefault将此错误静音。取决于这条线的效率>>>'a' in mydict.keys()&nbsp;&nbsp;我也是Python的新手。实际上,我今天才学到它。因此,请原谅我对效率的无知。在Python 3中,您也可以使用此功能,get(key[, default]) [function doc][1]据说它永远不会引发关键错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python