Python 3.x 在Python 3.3中打开Berkeley 1.85 DB文件

Python 3.x 在Python 3.3中打开Berkeley 1.85 DB文件,python-3.x,berkeley-db,Python 3.x,Berkeley Db,我正在将这个系统转换成Python 3.3。在一端(我现在所在的位置),有一个Perl脚本,它生成一个绑定到Berkeley DB文件的大型哈希表,其中键是数字,每个键都有一个与之关联的字符串。另一端是另一个Perl脚本,它接受用户输入的整数,在DB文件中查找该数字,并返回与该数字关联的字符串 我一直在寻找Berkeley DB的替代方案,因为Python的标准库不再正式支持它了,但在此之前,我正试图尽我所能复制这个系统,这样我们就可以继续做我们正在做的事情。但目前的问题是,用于生成这些DB文件

我正在将这个系统转换成Python 3.3。在一端(我现在所在的位置),有一个Perl脚本,它生成一个绑定到Berkeley DB文件的大型哈希表,其中键是数字,每个键都有一个与之关联的字符串。另一端是另一个Perl脚本,它接受用户输入的整数,在DB文件中查找该数字,并返回与该数字关联的字符串

我一直在寻找Berkeley DB的替代方案,因为Python的标准库不再正式支持它了,但在此之前,我正试图尽我所能复制这个系统,这样我们就可以继续做我们正在做的事情。但目前的问题是,用于生成这些DB文件的Perl模块使它们采用v1.85格式,而bsddb3模块仅支持v4.x及以上版本。有什么方法可以让Python 3.3处理Berkeley DB 1.85文件吗?

可以


我是通过(向下滚动到“备注”)找到的。

不起作用。当我构建模块时,会收到关于赋值的警告,并返回从整数生成指针而不进行强制转换,然后当我将bsddb185导入脚本时,它会引发一个ImportError:/usr/local/lib/python3.3/site-packages/bsddb185。那么:未定义的符号“PyString\u FromStringAndSize”是否安装了
python3 dev
(假设UbuntuLinux——目标是什么平台)?上面PYPI链接中的模块源代码是针对Python 2的,而不是针对Python 3的。它可以移植,但我对移植Python模块一无所知,也不认为我有时间学习如何处理这个特定问题。