この押韻辞書を使用して韻を調べようとしているPythonプログラムがあります。
辞書ライブラリのセットアップの一部は、3 つの 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 経由でインストールされました)