序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态(存在内存中)写入到临时或持久性存储区(硬盘)。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
实现对象的序列化和反序列化在python中有两种方式:json 和 pickle。
其中json用于字符串 和 python数据类型间进行转换,pickle用于python特有的类型 和 python的数据类型间进行转换,pickle是python特有的。
1、JSON序列化:json.dumps()
2、JSON反序列化:json.loads()
注意:对于以下这种情况json就不能处理了
所以:json用于字符串 和 python数据类型间进行转换
3、pickle序列化:pickle.dumps()
对于函数hello,序列化的不是内存地址,而是整个数据对象,函数可以序列化。
4、pickle反序列化:pickle.loads()
5、多次序列化与反序列化
1)json
2)pickle
老王:是不是就不能多次序列化呢?那我修改后的数据还需要序列化写入到文件怎么办?
你:当然能多次序列化,把序列化后数据写到多个文件不就好了嘛。
以上就是浅析Python 序列化与反序列化的详细内容,更多关于Python 序列化与反序列化的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/sunnytomorrow/p/13089970.html