对象序列化和反序列化是任何不平凡的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)