序列与反序列
特殊的对象想要存储时,就需要使用序列
一、序列化
1 import pickle 2 3 info = { 4 '':'', 5 'age':32, 6 'func':'xxx' 7 } 8 9 m=100 10 11 print(pickle.dumps(info)) 12 print(pickle.dumps(m)) 13 14 pickle.dump([info,m],open('test.txt','wb'))
运行结果:
root@VM-48-31-ubuntu:~/breaking-abc/BreakingRainbow-main/Attack_demo2# sage z.sage b'\x80\x04\x95L\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x00\x94h\x01\x8c\x03age\x94\x8c\x12sage.rings.integer\x94\x8c\x0cmake_integer\x94\x93\x94\x8c\x0210\x94\x85\x94R\x94\x8c\x04func\x94\x8c\x03xxx\x94u.' b'\x80\x04\x950\x00\x00\x00\x00\x00\x00\x00\x8c\x12sage.rings.integer\x94\x8c\x0cmake_integer\x94\x93\x94\x8c\x0234\x94\x85\x94R\x94.'
二、反序列化
import pickle f=open('test.txt','rb') m=pickle.load(f) f.close() print(m)
运行结果:
[{'': '', 'age': 32, 'func': 'xxx'}, 100, 5, '好']
这说明:
1.在序列化当中,pickle.dump([info,m],open('test.txt','wb'))语句,请[]这个列表,写入了文件。
这个语句的格式是:
pickle.dump(变量,写文件)
2.对于序列化后的文件,是一个二进制文件。