Python 查找数据时出错,我需要一些指针
我有一个dbm文件,当我试图直接访问某个值时会导致错误:Python 查找数据时出错,我需要一些指针,python,dbm,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 >
>>> 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...
导入dbm
>>>db=dbm.open('scrapers','c')
>>>key1=db.keys()[0]
>>>db[key1]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
dbm.error
>>>db.get(键1)
“(dp1\nS‘用户名\’\np2\nNsS‘密码\’…等…”。。。
它只发生在这个文件中,它包含了各种网站的pickle类scraper
我无法提供实际的数据库数据,因为它包含登录数据。
我的问题是:这个问题的可能解释是什么?我应该从哪里开始调试这个问题
如果您需要任何其他信息(数据本身除外),请告诉我。事实证明,python dbm文档中没有解释dbm的一个细节:
The sum of the sizes of a key/content pair must not exceed the internal block size (normally between 512 and 4096 bytes).
我现在使用的是
gdbm
,效果很好。尝试使用flag='c'
打开。检查len(db.keys())