PyMOTW: pickle and cPickle
The pickle module implements an algorithm for turning an arbitrary Python object into a series of bytes (“serializing” the object). The byte stream can then be transmitted or stored, and later reconstructed to create a new object with the same characteristics.
The cPickle module implements the same algorithm, in C instead of Python. It is many times faster than the Python implementation, but does not allow the user to subclass from Pickle. If sub-classing is not important for your use, you probably want to use cPickle.