I'd like to second this suggestion. While there are a few things you need to be aware of when writing your code (mostly taken care of in the latest release) it's a mostly trivial code change. (For me it was replacing a few dictionaries with PersistentMap objects and changing the base class of a few objects to Persistant from object.
FWIW, I'm using ZODB to help track EDI transactions for a help desk application. Right now my database hovers in the 100MB range with several ten of thousands of objects. I also use it for single object temp storage, so I feel it works well from both the small and mid-size scale. (It probably works fine for large projects as well, I just don't have one right now...) Chris On Thu, 02 Dec 2004 18:53:44 -0600, Larry Bates <[EMAIL PROTECTED]> wrote: > You may also want to take a look at ZODB (Zope database). > It handles the pickling, storage and retrieval of all > Python objects (including dictionaries) very well. And yes > you can use ZODB without using Zope proper. > > http://www.zope.org/Products/StandaloneZODB > > http://zope.org/Members/adytumsolutions/HowToLoveZODB_PartII/HowToLoveZODB_PartI > > http://www.h7.dion.ne.jp/~harm/ZODB-Tutorial.py > > > Larry Bates > > > > > Shivram U wrote: > > Hi, > > > > I want to store dictionaries on disk. I had a look at a few modules > > like bsddb, shelve etc. However would it be possible for me to do the > > following > > > > hash[1] = [1, 2, 3] where the key is an int and not a string > > > > bsddb requires that both the key,value are string. > > shelve does support values being object but not the keys. Is there any > > module which support keys which are not strings > > > > Also how do i use disk based hashes for multidimensional hashes such as > > below > > > > #!/usr/bin/python > > > > dict={} > > dict['key1'] = {} > > dict[('key1')][('key2')] = 'value' > > > > key1=dict['key1'] > > print key1['key2'] > > > > I have read of mxBeeDict but was unable to get it work properly. I am > > not sure if it supports what i need as i was unable to get any > > documentation about it. Is the module used widely ? > > > > Below is how i am using the module > > > > bdict = BeeDict('/tmp/beedict') > > > > bdict[1] = 1 > > print bdict.keys() > > > > bdict.commit() > > bdict.close() > > > > bdict1 = BeeDict('/tmp/beedict') > > print bdict1.keys() > > print bdict1.values() > > > > > > Would it be that using disk based dictionaries once opened are as fast > > as in memory dictionaries ? > > > > Thanks in advance, > > > > Best Regards, > > Shivram U > > > > > > > > > > Confidentiality Notice > > > > The information contained in this electronic message and any attachments to > > this message are intended > > for the exclusive use of the addressee(s) and may contain confidential or > > privileged information. If > > you are not the intended recipient, please notify the sender at Wipro or > > [EMAIL PROTECTED] immediately > > and destroy all copies of this message and any attachments. > -- > http://mail.python.org/mailman/listinfo/python-list > -- "It is our responsibilities, not ourselves, that we should take seriously." -- Peter Ustinov -- http://mail.python.org/mailman/listinfo/python-list