您的位置:首页 > 编程语言 > Python开发

python3 pickle模块 序列化对象层次结构,反序列化数据流

2019-04-18 20:34 99 查看

pickle.
dump
(obj, file, protocol=None, *, fix_imports=True)

将obj以bytes对象的形式写入打开的文件对象文件

obj可以是任何类型的对象,主要用于不是字符串格式的数据写入文件

pickle.
dumps
(obj, protocol=None, *, fix_imports=True)

将对象返回为bytes对象,而不是将其写入文件。

pickle.
load
(file, *, fix_imports=True, encoding="ASCII", errors="strict")

从打开的文件对象中读取bytes对象,并返回其中指定的重新构建的对象层次结构。

如果写入时是一个列表,则读取时返回的是一个列表

pickle.
loads
(bytes_object, *, fix_imports=True, encoding="ASCII", errors="strict")

将bytes对象返回原来的对象类型

[code]import pickle

f=open("pickle.bin","wb+")
num_list=[1, 2, 3, 4, 5]
pickle.dump(num_list,f)
f.seek(0,0)
num_list=pickle.load(f)
print(num_list)
f.close()

输出:

[1, 2, 3, 4, 5]

[code]import pickle

num_list=[1,2,3,4,5]
byte_list=pickle.dumps(num_list)
print(byte_list)
print(pickle.loads(byte_list))

输出:

b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.'
[1, 2, 3, 4, 5]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: