python基础之常用模块-pickle
pickle和json是python中常用的序列化库,json只能序列基本的数据类型,pickle序列化更强大。
序列化:是将内存对象数据转换为支持磁盘存储和网络传输的一个过程,其实也就是转换数据类型。
主要有dumps和dump
dumps
import pickle
dict = {"name": "电脑", "price": 1999}
s = pickle.dumps(dict)
print(s)
print(type(s))
输出结果为:
b'\x80\x03}q\x00(X\x05\x00\x00\x00priceq\x01M\xcf\x07X\x04\x00\x00\x00nameq\x02X\x06\x00\x00\x00\xe7\x94\xb5\xe8\x84\x91q\x03u.'
<class 'bytes'>
dump
with open('dump.txt', 'wb') as file:
pickle.dump(dict,file)
输出结果为:
反序列化:和系列化相反,反序列化是将二进制转换为对象的过程
主要有loads和load
loads
dict1 = pickle.loads(s1)
print(dict1)
print(type(dict1))
输出结果为:
{'price': 1999, 'name': '电脑'}
<class 'dict'>
load
with open('dump.txt', 'rb') as file1:
d2 = pickle.load(file1)
print(d2,type(d2))
输出结果为:
{'name': '电脑', 'price': 1999} <class 'dict'>