The pickle module implements a fundamental, but powerful algorithm for serializing and de-serializing a Python object structure. ``Pickling'' is the process whereby a Python object hierarchy is converted into a byte stream, and ``unpickling'' is the inverse operation, whereby a byte stream is converted back into an object hierarchy. Pickling (and unpickling) is alternatively known as ``serialization'', ``marshalling,''3.2 or ``flattening'', however the preferred term used here is ``pickling'' and ``unpickling'' to avoid confusing.
This documentation describes both the pickle module and the cPickle module.