"shelve" save object

John Machin sjmachin at lexicon.net
Sat Aug 9 18:59:03 EDT 2008


On Aug 10, 5:32 am, hypermonkey2 <jonmo... at gmail.com> wrote:
> Hi there!
> I am using the "shelve" module in a script to save information in
> between runtime sessions of the program. (its a sort of
> data collector, so its important to hold on to anything computed  ).
> In any case, I shelve into a file "test.txt". I notice that when i try
> running the program on a different computer (by either emailing or
> transfering the file "test.txt" via USB key), the program is unable to
> load the shelve file.
> What can I do to fix this? It would be a great shame to see that after
> collecting all this information and shelving it that I cannot move to
> another computer or share the information through the "save.txt" file.

For a start, you could consider telling us what "unable to load the
shelve file" means ... please copy any error message, exception
information and traceback and paste it into your response. Showing the
code that deals with the shelf file would also be useful; we don't
want to guess what your shelve.open args are.

... "on a different computer": How many different computers? How many
times? To check the possibility that the file was mangled in transit
between computers, have you compared the filesize and md5 checksum
before and after transport?

When asking questions like this, it's a very good idea to state what
computer platform, what version of what OS, and what version of
Python. In your case, you need to report this info for both the
creating computer and the unable-to-load computers(s).

Try this on both the creating computer and the unable-to-load
computers(s), at the Python interactive prompt:

 >>> import whichdb
 >>> whichdb.whichdb('test.txt')

and report the results.

Also consider changing the name from "test.txt" to something
meaningful -- a file with a ".txt" extension is just begging silly
software and silly humans to treat it as a text file and mangle it.

HTH,
John



More information about the Python-list mailing list