python基础第十四章------序列化模块:pickle

序列化模块:pickle

模块一定要导对应的包

import pickle

序列化:就是看不懂的

反序列化:将看不懂的转换成看得懂的

dumps:将任意对象序列化成一个bytes

格式:pickle.dumps(数据)

import pickle
list1=['老大','老二','老三','老四']
res=pickle.dumps(list1)
print(res)
会输出:
b'\x80\x03]q\x00(X\x06\x00\x00\x00\xe8\x80\x81\xe5\xa4\xa7q\x01X\x06\x00\x00\x00\xe8\x80\x81\xe4\xba\x8cq\x02X\x06\x00\x00\x00\xe8\x80\x81\xe4\xb8\x89q\x03X\x06\x00\x00\x00\xe8\x80\x81\xe5\x9b\x9bq\x04e.'

loads:将bytes反序列成原数据

import pickle
byte=b'\x80\x03]q\x00(X\x06\x00\x00\x00\xe8\x80\x81\xe5\xa4\xa7q\x01X\x06\x00\x00\x00\xe8\x80\x81\xe4\xba\x8cq\x02X\x06\x00\x00\x00\xe8\x80\x81\xe4\xb8\x89q\x03X\x06\x00\x00\x00\xe8\x80\x81\xe5\x9b\x9bq\x04e.'
res=pickle.loads(byte)
print(res)
会输出:
['老大', '老二', '老三', '老四']

dump(数据,文件io对象):将对象序列化后写入到文件io对象中 (只能用wb模式)
import pickle
dict1={'老大':'孙鹏','老二':'孙可','老三':'孙志成'}
with open('12.py','wb')as f:
pickle.dump(dict1,f)
load(文件io对象):将文件对象反序列化成序数据  (只能用rb模式)
import pickle
with open('12.py','rb')as f:
res=pickle.load(f)
print(res)


猜你喜欢

转载自www.cnblogs.com/szc-boke/p/11262542.html