如何序列化Python类?

对象序列化和反序列化是任何不平凡的Python程序的常规方面。保存到文件,读取配置文件,响应HTTP请求,都涉及对象序列化和反序列化。 

序列化和反序列化涉及各种方案,格式和协议,以流式处理Python对象并在以后将其恢复原样。您选择的序列化方案,格式或协议决定了程序运行的速度和安全性。

让我们使用python对象字典进行序列化。类也是Python对象。我们使用一个名为pickle的Python模块及其方法pickle.dumps(object)。

foo = dict(int_list=[3, 4, 5],  text='Hello World', number=9.99, boolean=False, none=None)
import cPickle as pickle

print pickle.dumps(foo)

print pickle.dumps(foo, protocol=pickle.HIGHEST_PROTOCOL)