序列与反序列

特殊的对象想要存储时,就需要使用序列

一、序列化

 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.对于序列化后的文件,是一个二进制文件。




posted on 2022-08-31 07:41  RicLiu  阅读(55)  评论(0编辑  收藏  举报