序列化:把对象转化成二进制文件,方便传输存储
反序列化:把二进制字节转化为对象
利用pickle模块里的函数
1.dumps: 把对象(数据)转化为字节
import pickle
lst = [1, 2, 3, 4, 5]
# 将lst转为二进制
t = pickle.dumps(lst)
print(t)
输出:
b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.'
2.loads:把字节转为对象(数据)
t = b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.'
print(pickle.loads(t))
输出:
[1, 2, 3, 4, 5]
3.dump:将对象序列化成字节后写入文件
import pickle
lst = [1, 2, 3, 4, 5]
# 将对象转化为字节写入文件
pickle.dump(lst, open("b.txt", mode= "wb"))
4.load:把文件的字节反序化成对象(数据)
import pickle
# lst = [1, 2, 3, 4, 5]
lst = pickle.load(open("b.txt", mode= "rb"))
print(lst)
输出:
[1, 2, 3, 4, 5]