dumbdbm
index
/usr/lib/python2.2/dumbdbm.py

A dumb and slow but simple dbm clone.
 
For database spam, spam.dir contains the index (a text file),
spam.bak *may* contain a backup of the index (also a text file),
while spam.dat contains the data (a binary file).
 
XXX TO DO:
 
- seems to contain a bug when updating...
 
- reclaim free space (currently, space once occupied by deleted or expanded
items is never reused)
 
- support concurrent access (currently, if two processes take turns making
updates, they can mess up the index)
 
- support efficient access to large databases (currently, the whole index
is read when the database is opened, and some updates rewrite the whole index)
 
- support opening for read-only (flag = 'm')

 
Modules
            
__builtin__
os
 
Classes
            
_Database
 
class _Database
       
   Methods defined here:
__contains__(self, key)
__del__(self)
__delitem__(self, key)
__getitem__(self, key)
__init__(self, file, mode)
__iter__ = iterkeys(self)
__len__(self)
__setitem__(self, key, val)
_addkey(self, key, (pos, siz))
_addval(self, val)
_commit(self)
_setval(self, pos, val)
_update(self)
close(self)
has_key(self, key)
iterkeys(self)
keys(self)

Data and non-method functions defined here:
__doc__ = None
__module__ = 'dumbdbm'
 
Functions
            
open(file, flag=None, mode=438)
 
Data
             _BLOCKSIZE = 512
__file__ = '/usr/lib/python2.2/dumbdbm.pyc'
__name__ = 'dumbdbm'