[Tutor] portability of pickle and shelve across platforms and different python versions?

Garry Willgoose garry.willgoose at newcastle.edu.au
Thu May 6 01:12:24 CEST 2010


I have seen conflicting info on this on the web and in the tutor archive and the docs don't seem to address it explicitly. How portable are files containing pickle'd and shelve'd data? I'm thinking issues like simply O/S portability, through big-end/little-end hardware (for floats/integers which I use a lot), and then for unicode/non-unicode string,  64/32 bit and V2.6/V3.1 implementations of python. Does the version of the encoder in pickle make any difference for this? One post I've seen suggests that as long as the file is opened binary (ie. 'b') all should be well for platform independence.

My core question if I give a pickled file to somebody else can i guarantee they can read/load it OK. The other person will be using exactly the same python code to open it as used to create it.

====================================================================
Prof Garry Willgoose,
Australian Professorial Fellow in Environmental Engineering,
Director, Centre for Climate Impact Management (C2IM),
School of Engineering, The University of Newcastle,
Callaghan, 2308
Australia.

Centre webpage: www.c2im.org.au

Phone: (International) +61 2 4921 6050 (Tues-Fri AM); +61 2 6545 9574 (Fri PM-Mon)
FAX: (International) +61 2 4921 6991 (Uni); +61 2 6545 9574 (personal and Telluric)
Env. Engg. Secretary: (International) +61 2 4921 6042

email:  garry.willgoose at newcastle.edu.au; g.willgoose at telluricresearch.com
email-for-life: garry.willgoose at alum.mit.edu
personal webpage: www.telluricresearch.com/garry
====================================================================
"Do not go where the path may lead, go instead where there is no path and leave a trail"
                          Ralph Waldo Emerson
====================================================================







More information about the Tutor mailing list