[Tutor] Alternative for Shelve
Alan Gauld
alan.gauld at btinternet.com
Mon May 11 23:56:07 CEST 2009
"Timo" <timomlists at gmail.com> wrote
> I have an issue with the Shelve module. It works great for my needs, the
> only problem is that a file made with Shelve isn't interchangable between
> different computers.
I thought it would be.
What kind of computers are you having issues with?
And what kind of issues?
> Does someone have an alternative to Shelve?
> It must be able to contain keys and values, and the values are a list of
> dictionaries.
A SqlLite database?
With record where the fields correspond to your dictionary entries.
ID:Date:Location
> 1234567 = [{'date' : '2009-05-11', 'location' : 'Germany'}, {'date' :
> '2009-05-04', 'location' : 'France'}]
> 7654321 = [{'date' : '2009-03-12', 'location' : 'Belgium'}, {'date' :
> '2009-04-23', 'location' : 'Spain'}]
populating your dictionary becomes a matter of extracting the data:
SELECT DATE, LOCATION FROM DATA WHERE ID = key
SQLite has the advantage that the atabase is a single file and
it is portable across platforms provided they have Sqlite installed.
And its part of the Python standard library.
Examples of using Sqlite in the databases topic of my tutorial.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list