pickle

'''

pickle.dump(obj,file,[,prtocol])
将obj对象序列化入已经打开的file中
参数:obj要序列化的对象
file 文件名
protocol: 序列化使用的协议,默认为零

pickle.load(file)
功能: 将file中的对象读出来
pickle.dumps(obj[,protocol])
将obj对象序列化为string 而不存入文件


pickle.loads(string)
从stringz中读出序列化的obj对象
'''

#导入包名
import pickle

dataList = [[1,1,'yes'],
[1,1,'yes'],
[1,0,'yes'],
[0,1,'no'],
[0,1,'no']]
dataDic = {0:[1,2,3,4],
1:('a','b'),
2:{'c':'yes','d':'no'}}
#
fw = open('datafile.txt','wb')
#调用pickle方法 将列表序列化入文件 using protocol -1
pickle.dump(dataList,fw,-1)
#using protocol 0
pickle.dump(dataDic,fw)
fw.close()


#创建一个文件对象

fr = open('datafile.txt','rb')
data1 = pickle.load(fr)
print(data1)
data2 = pickle.load(fr)
print(data2)

fr.close()

#将obj对象 序列化入string

p = pickle.dumps(dataList)
print(pickle.loads(p))





posted @ 2019-07-02 17:31  countryboy666  阅读(169)  评论(0编辑  收藏  举报