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