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,''13.1 or ``flattening'', however, to avoid confusion, the terms used here are ``pickling'' and ``unpickling''.
This documentation describes both the pickle module and the cPickle module.