'''
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))