Index > データの永続化 Python(Jython)でdbmを使う方法
Wed, December 31, 2008

データの永続化 Python(Jython)でdbmを使う方法

UNIXでよく使われるシンプルなデータベース dbm をPythonで使う方法。
どのOSでも実行できるように、dbmではなく、anydbmモジュールを使用する。

code

import anydbm

db=anydbm.open('index','c')
db['001']='apple'
db['002']='orange'
db['003']='banana'

for key in db:
    print key + ' -> ' +db[key]

実行結果

$ python test_dbm.py 
002 -> orange
001 -> apple
003 -> banana

存在しないキーに対する値を取り出そうとした場合、エラーになるので、 try 〜 except を使う必要がある。

import anydbm

def buildDb():
    db=anydbm.open('index','c')
    db['001']='apple'
    db['002']='orange'
    db['003']='banana'

    return db


db=buildDb()

#for key in db:
#   print key + ' -> ' +db[key]

try :
    print db['100']

except :
    print 'no such key exists.'

anydbm モジュールは、Python だけでなくJythonでも使えるところがうれしいです。

 Twitter
follow me on Twitter
 Categories