**序列化:**将对象转换为字节序列的过程
**反序列化:**将字节序列转换成目标对象的过程
**作用:**分布式系统会遇到对象数据传输情况,如:在A系统中查数据库select * from test;这个对象要在另一个节点B展示,那么就要把该对象传到B节点上,网络传输时是二进制流的形式,在A需要先把对象类型转化字节流的形式,在B需要把字节流文件转换成对象类型。
PYthon中实现
>>> #在A系统上执行
>>>test={"a": 1, "b": 2, "c": 3} #对象类型
>>> print test
{'a': 1, 'c': 3, 'b': 2}
>>>
>>> import cPickle #转换库
>>>
>>> cPickle.dump(test,open("cpikele.pkl","wb")) #dump方法将对象转成字节流文件(反序列化)
>>>
>>>
>>> f =open("cpikele.pkl","r") #读取转换后的文件
>>> f.read()
"(dp1\nS'a'\nI1\nsS'c'\nI3\nsS'b'\nI2\ns."
>>>
>>> #在B系统是上执行
>>> data = cPickle.load(open("cpikele.pkl","rb")) #load方法来序列化
>>> print data
{'a': 1, 'c': 3, 'b': 2}
>>>