python——pickle模块

创建Python数据对象的二进制序列化表示,用于存储python对象,可以存于文件或变量中。
使用pickle模块存储处理的对象可以是任何python数据类型、函数、类

特点:pickle存储数据或对象,操作简单,可靠持久存储,但是数据转化后特定于python使用,无法直接阅读。

常用函数

常用函数包括如下四个,其中,dump和load表示和文件进行数据交互,文件后缀为.pk*;dumps和loads表示和程序中的变量进行数据交互。

pickle.dump(object, file)
pickle.dumps(object) -> string
pickle.load(file) -> object
pickle.loads(string) -> object

示例

dump
import pickle
a=[1,2,3,4,5]  #数据对象可以为任何类型
#打开a.pk文件,将a写入
with open('/root/python workspace/a.pk', 'w') as f: 
    pickle.dump(a, f)
dumps
import pickle
a=[1,2,3,4,5]
f=pickle.dumps(a)#写入对象不是文件,而是python变量

print(f)
#输出:b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.'若要知道该串代码含义,需要通过load解码。
load
import pickle
#读取事先建立的a.pk文件
with open('/root/python workspace/a.pk', 'r') as f:
    a=pickle.load(f) 
print(a)
#输出:[1, 2, 3, 4, 5]'
loads
import pickle
pickle.loads(f)
#输出为上文中的a:[1, 2, 3, 4, 5]'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章