データの永続化 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でも使えるところがうれしいです。