Python pickle模块学习笔记

之前在写Python challenge的时候碰到了pickle模块,对这个模块并不了解,找了些资料,学习一下。

Pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序的保存对象。

方法:

dump(object, file)

将对象object保存到文件file中去。File为对象保存到的类文件对象。File必须有write()接口,file可以是一个以’w’方式打开的文件或者一个StringIOS对象或者其他任何实现write()接口的对象。

import pickle
import re
f = open(r'D:\a.txt','w')
obj = [123,'a',{'a':1,'b':3}]
pickle.dump(obj,f)
f.close()

实现的结果保存在a.txt文件里:

Python pickle模块学习笔记_第1张图片

dumps(object) -> string

只有一个参数,直接序列化成string格式:

import pickle
obj = [123,'a',{'a':1,'b':3}]
print pickle.dumps(obj)
 

load(file) -> object

file中读取一个字符串,并将它重构成原来的Python对象。File要有read()readline()接口

import pickle
import re
f = open(r'D:\a.txt')
print pickle.load(f)
f.close()

实现结果为原本object的内容:[123, 'a', {'a': 1, 'b': 3}]


loads(string) -> object

发序列化,重构成原来的Python对象。

import pickle
obj = [123,'a',{'a':1,'b':3}]
s = pickle.dumps(obj)
print pickle.loads(s)
 

 

 

你可能感兴趣的:(Python pickle模块学习笔记)