Python的序列化与反序列化(pickle)

序列化定义:将内存中的数据写入磁盘或者传输到网络中。

反序列化:将本地数据或者网络数据写入内存中。


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'}

总结可以保存一下配置文件或者运行环境。

你可能感兴趣的:(Python的序列化与反序列化(pickle))