pickle模块定义
pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。
Python的序列化是指把变量从内存中变为可以存储/传数的数据/文件的过程。
序列化方法
方法 功能 pickle.dump(obj, file) 将Python数据转换并保存到pickle格式的文件内 pickle.dumps(obj) 将Python数据转换为pickle格式的bytes字串 pickle.load(file) 从pickle格式的文件中读取数据并转换为python的类型 pickle.loads(bytes_object) 将pickle格式的bytes字串转换为python的类型
dumps()与loads()
"""
dumps(数据类型) 将python转换成二进制
loads(二进制) 将二进制转换成python
"""
import pickle as p
String01 = "I love you"
a = p.dumps(String01)
print(a) #b'\x80\x03X\n\x00\x00\x00I love youq\x00.'
b = p.loads(a)
print(b) #I love you
dump()与load()
"""
dump(数据类型,文件对象) 把python转成二进制写入文件
load(文件对象) 把文件中的数据读取成二进制转成python
"""
import pickle as p
list01 = ["小明","翠花","王五","张三"]
#因为只能是二进制的,所以文件要声明成b 。要写进去所以是w
#open("f.txt","x") #创建一个文件
f1 = open("f.txt","wb")
p.dump(list01,f1) #文件是个二进制文件,打不开
f1 = open("f.txt","rb")#r代表的是读
a = p.load(f1)
print(a) #['小明', '翠花', '王五', '张三']