Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找数据时出错,我需要一些指针_Python_Dbm - Fatal编程技术网

Python 查找数据时出错,我需要一些指针

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 >

我有一个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...
导入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())