python序列化和json

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))      #反序列化

 

 

posted @ 2015-11-01 11:22  muzinan110  阅读(276)  评论(0编辑  收藏  举报