dmb.error在查找数据时,我需要一些指示

时间:2014-06-27 12:15:53

标签: python dbm

我有一个dbm文件,当我尝试直接访问某个值时会导致错误:

>>> import dbm
>>> db = dbm.open('scrapers','c')
>>> key1 = db.keys()[0]
>>> db[key1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
dbm.error
>>> db.get(key1)
'(dp1\nS\'username\'\np2\nNsS\'password\'...etc...

它只发生在这个文件中,它包含各种网站的腌制类刮刀。

我无法提供实际的数据库数据,因为它包含登录数据。 我的问题是:这个问题的可能的解释是什么?我应该从哪里开始调试这个?

如果您需要任何其他信息(数据本身除外),请告知我们。

1 个答案:

答案 0 :(得分:0)

原来有一个dbm的细节没有在python dbm docs中解释:

The sum of the sizes of a key/content pair must not exceed the internal block size (normally between 512 and 4096 bytes).

我现在正在使用gdbm,这很好用。