``pickling'' and ``unpickling''

Roy Smith roy at panix.com
Thu Apr 6 08:35:24 EDT 2006


In article <1144301776.147022.120740 at i40g2000cwc.googlegroups.com>,
 "Lonnie Princehouse" <finite.automaton at gmail.com> wrote:

> Pickling is the Python term for serialization.   See
> http://en.wikipedia.org/wiki/Serialization
> 
> Suppose you want to save a Python object "x" to a file...
> 
> output_file = open('my_pickle', 'wb') # open a file
> 
> import pickle
> pickle.dump(x, output_file)  # write x to the file
> output_file.close()
> 
> ... and to restore x from the file:
> 
> input_file = open('my_pickle','rb')
> x = pickle.load(input_file)
> input_file.close()

I used to use pickles a lot for making scripts start up faster by cacheing 
intermediate results.  On startup, I had to read and parse a bunch of large 
text files and build a complicated in-memory database out of them.  That 
took something like 10 seconds.  However, the text files very rarely 
changed.  To save startup time, I read the files in once, and pickled the 
database in a file.  On subsequent runs, I'd just read in the pickle, which 
took a fraction of a second.



More information about the Python-list mailing list