私のpythonプログラムでは、次のエラーが発生しています:
KeyError: 'variablename'
このコードから:
path = meta_entry['path'].strip('/'),
なぜこれが起こっているのか誰でも説明できますか?
私のpythonプログラムでは、次のエラーが発生しています:
KeyError: 'variablename'
このコードから:
path = meta_entry['path'].strip('/'),
なぜこれが起こっているのか誰でも説明できますか?
AKeyError
は通常、キーが存在しないことを意味します。それで、path
キーが存在することは確かですか?
公式のpythonドキュメントから:
例外 KeyError
既存のキーのセットにマッピング (辞書) キーが見つからない場合に発生します。
例えば:
>>> 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
キー エラー コメントに完全に同意します。辞書の get()メソッドを使用して、例外を回避することもできます。None
これは、以下に示すのではなく、デフォルト パスを指定するためにも使用できます。
>>> d = {"a":1, "b":2}
>>> x = d.get("A",None)
>>> print x
None
はい、存在しないキーが原因である可能性があります。
私のプログラムでは、効率を考慮して、setdefaultを使用してこのエラーをミュートしました。このラインの効率に応じて
>>>'a' in mydict.keys()
私もPythonを初めて使用します。実際、私は今日それを学んだばかりです。だから、効率の無知について私を許してください。
Python 3では、この関数を使用することもできます。
get(key[, default]) [function doc][1]
キーエラーは発生しないと言われています。