我有一个 Python 程序,我试图在其中使用这个押韵字典来查找押韵。
字典库设置的一部分由创建三个 gdbm.db
文件的 C 程序工作。执行此操作的代码可在此处公开获得(来自“获取源代码”部分),C gdbm 构建器的关键部分compile.c
如下所示:
#include <gdbm.h>
...<snip>...
int main(int argc, char *argv[]) {
FILE *input;
GDBM_FILE output;
...<snip>...
output = gdbm_open(argv[2], 0, GDBM_NEWDB, 0644, 0);
...<snip>...
gdbm_sync(output);
...<snip>...
words.db
已创建,并且可以从捆绑的命令行界面成功访问。
根据图书馆的示例页面,我应该可以使用 python gdbm 模块来访问数据库。
但是,我不能。当我运行以下命令时:
import gdbm
words = gdbm.open('/usr/share/rhyme/words.db')
我收到以下错误:
words = gdbm.open('/usr/share/rhyme/words.db')
gdbm.error: Bad magic number
是否存在文件不兼容问题?用 C 语言创建的一些 gdbm 文件不能用 Python 打开吗?
(这是 OSX 10.6.8 上的 Python 2.7。Python 的 gdbm 是通过 MacPorts 安装的)