序列化定义:将内存中的数据写入磁盘或者传输到网络中。
反序列化:将本地数据或者网络数据写入内存中。
Python 中有一个非常简单的模块可以实现那么就是pickle
让我们来看看具体代码:
序列化:
>>>import pickle
>>>d=dict(name='Bob',age=20,score=88)
>>>pickle.dumps(d)
b'\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x05\x00\x00\x00scoreq\x02KXX\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00Bobq\x04u.'
这里的pickle.dumps(d)就是取出d中的内存数据。实现序列化。
pickle.dumps()方法把任意对象序列化成一个bytes,然后,就可以把这个bytes写入文件。
>>>f = open('dump.txt','wb')>>>pickle.dump(d, f)
>>>f.close()
pickle.dump()直接把对象序列化后写入一个文件对象。
反序列化:
>>>f = open('dump.txt','rb')
>>>d = pickle.load(f)
>>>f.close()
>>>d
{'age':20,'score':88,'name':'Bob'}