pickle:提供四个功能分别是dumps、loads、dump、load。pickle是将数据以二进制的形式序列化后保存到文件中的。
pickle可以储存的数据类型(必须是python中有的):布尔值、整数、浮点数、复数、字符串、字节、None,列表、元组、字典、集合、函数、类、类的实例。
1.dumps
dumps将数据转化为一种字节码
import pickle
data = {"姓名": "李小龙", "年龄": "28"}
con = pickle.dumps(data)
print(con)
运行结果如下
b'\x80\x03}q\x00(X\x06\x00\x00\x00\xe5\xa7\x93\xe5\x90\x8dq\x01X\t\x00\x00\x00\xe6\x9d\x8e\xe5\xb0\x8f\xe9\xbe\x99q\x02X\x06\x00\x00\x00\xe5\xb9\xb4\xe9\xbe\x84q\x03X\x02\x00\x00\x0028q\x04u.'
2. loads
loads将dumps转换成的字节码转化为原来的数据
import pickle
data = {"姓名": "李小龙", "年龄": "28"}
con = pickle.dumps(data)
print(pickle.loads(con))
运行结果如下
{'姓名': '李小龙', '年龄': '28'}
3. dump
将数据转化为字节码并存入文件
import pickle
data = {"姓名": "李小龙", "年龄": "28"}
with open("log.txt", "wb") as f:
pickle.dump(data, f)
4.load
将dump存入的字节码转化为原来的数据并从文件中读出
import pickle
data = {"姓名": "李小龙", "年龄": "28"}
with open("log.txt", "rb") as f:
con = pickle.load(f)
print(con)
运行结果如下
{'姓名': '李小龙', '年龄': '28'}