dictのdictをシェルフファイルに追加しようとしています:
>>> d = shelve.open('index.shelve')
>>> d
<shelve.DbfilenameShelf object at 0x21965f0>
>>> print(list(d.keys()))
[]
>>> d['index'] = index
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/bns/rma/local/python/lib/python3.1/shelve.py", line 124, in __setitem__
self.dict[key.encode(self.keyencoding)] = f.getvalue()
_dbm.error: cannot add item to database
インデックスはやや大きいですが、大きくはありません。これは本質的にフロートの配列です。
>>> len(index)
219
>>> a = [ index[k][k1] for k in index for k1 in index[k] ]
>>> len(a)
59995
>>> all([ type(x) is float for x in a ])
True
このエラーは何ですか?また、モジュールまたはモジュールドキュメント内のどこかに、エラーが何を表しているかについての詳細情報を取得するために探す必要がありますか?エラーメッセージは、少なくとも私にとってはあまり有益ではありません:)。