zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python3 使用pickle持久化对象

Python3对象 使用 持久 pickle
2023-06-13 09:11:58 时间

pickle简单使用

pickle保存对象

Python 中可以使用 pickle 模块将对象转化为文件保存在磁盘上,在需要的时候再读取并还原。用法如下:  pickle.dump(obj, file[, protocol]) 这是 pickle 将对象持久化的方法,参数具体含义如下:

  • obj: 要持久化保存的对象,常见的为 python 字典;
  • file: 一个拥有 write() 方法的对象,并且这个 write() 方法能接收一个字符串作为参数。这个对象可以是一个以写模式打开的文件对象或者一个 StringIO 对象,或者其他自定义的满足条件的对象。这里可以是pickle或者txt等后缀的文件类型。
  • protocol: 这是一个可选参数,默认为 0,如果设置为 1 或 True,则以高压缩的二进制格式保存持久化后的对象,否则以 ASCII 格式保存。 

pickle保存字典的简单例子:

import pickle
a_dict = {'da':121, 'db':122, 'dc':123}
file = open('./pickle_example.pickle', 'wb')
pickle.dump(a_dict, file)
file.close()

pickle提取对象

对象被pickle模块持久化后,可用pickle.load方法还原。用法如下:  pickle.load(file) pickle提取刚才保存的pickle_example.pickle文件对象内容:

# reload a file to a variable
with open('pickle_example.pickle', 'rb') as file:
    a_dict1 =pickle.load(file)
print(a_dict1)  # 输出 {'db': 122, 'dc': 123, 'da': 121}

参考资料

Python中使用pickle持久化对象 pickle 保存数据