python 的序列化和反序列化用于内存之间的共享,包括服务器和客户端的共享,两个Python程序之间的共享,以及以字符串的形式存储到硬盘中。
pyhton 的pickle 可以对Python的各种数据类型进行操作,包括类,列表,对象等。pickle中只适用于Python。
硬盘存数据只能是字符串的形式,序列化这种方式实现两个程序之间内存数据的交互
#Python的序列化和反序列化
import pickle li = ['xiaoli','xiaowang','12','3','4'] dumped = pickle.dumps(li) #将列表进行了序列化 print dumped loaded = pickle.loads(dumped) #将序列化的数据进行了反序列化 print loaded
序列化的同时存储到文件中,以及在文件中反序列化
import pickle li = ['xiaoli','xiaowang','12','3','4'] pickle.dump(li,open('F:/python practice/temp.pk','w')) #将列表序列化之后存储到文件当中 print pickle.load(open('F:/python practice/temp.pk','r')) #将文件中的数据读取出来进行反序列化
JSON的使用
json只能对简单的数据类型进行操作,不可以对类等一些复杂的数据类型进行操作。json是各种语言通用的一种格式。
json的操作和pickle的操作几乎相同
import json li = ['xiaoli','xiaowang','xiaoming',12] print json.dumps(li) #将列表序列化 print json.loads(json.dumps(li)) #反序列化