首页 > 编程语言 >python数据持久存储:pickle模块的使用

python数据持久存储:pickle模块的使用

时间:2023-02-02 14:04:09浏览次数:31  
标签:protocol 模块 python list 对象 file 序列化 pickle

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

  基本接口:

  pickle.dump(obj, file, [,protocol])
  注解:将对象obj保存到文件file中去。
     protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。
     file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol>=1,文件对象需要是二进制模式打开的。

  pickle.load(file)
  注解:从file中读取一个字符串,并将它重构为原来的python对象。
  file:类文件对象,有read()和readline()接口。

#使用pickle模块将数据序列化对象保存到文件中即腌制

import pickle

a_list = [1, 2, 3]

with open('data.pk1','wb') as man_file:
pickle.dump(a_list,man_file)
#对象的反序列化
import pickle

with open('data.pk1','rb') as man_file:
a_list = prickle.load(man_file)

print a_list #[1,2,3]

 



标签:protocol,模块,python,list,对象,file,序列化,pickle
From: https://blog.51cto.com/u_2820398/6033531

相关文章

  • python socket 学习
    Python在网络通讯方面功能强大,今天学习一下Socket通讯的基本方式,分别是UDP通讯和TCP通讯。UDP通讯upd服务端1#!/usr/bin/envpython2#-*-coding:utf-8-*-34impor......
  • Python调用HTTP接口并传递cookie
    #get接口调用importurllibimporturllib2get_url="http://10.10.3.63/test?id=123&name=nba"cookie_headers={"Cookie":"person_id=2468"}req=urllib2.Req......
  • MDA165-16-ASEMI焊机专用模块MDA165-16
    编辑:llMDA165-16-ASEMI焊机专用模块MDA165-16型号:MDA165-16品牌:ASEMI封装:MDA正向电流:165A反向电压:1600V引脚数量:2芯片个数:2芯片尺寸:MIL漏电流:>10ua恢复时间:>500ns浪涌电流:25......
  • python中的a,b=b,a+b怎么解释
     deffib(max):n,a,b=0,0,1whilen<max:yieldba,b=b,a+bn=n+1return'done'这里的 a,b=b,a+b......
  • MDA165-16-ASEMI焊机专用模块MDA165-16
    编辑:llMDA165-16-ASEMI焊机专用模块MDA165-16型号:MDA165-16品牌:ASEMI封装:MDA正向电流:165A反向电压:1600V引脚数量:2芯片个数:2芯片尺寸:MIL漏电流:>10ua恢复时间:>500......
  • python virtual environment _ example
        ......
  • MDA110-16-ASEMI单臂共阳极整流模块MDA110-16
    编辑:llMDA110-16-ASEMI单臂共阳极整流模块MDA110-16型号:MDA110-16品牌:ASEMI封装:MDA特性:整流模块正向电流:110A反向耐压:1600V恢复时间:>500ns引脚数量:2芯片个数:2芯......
  • Python 虚拟环境 virtualenv 笔记
    初始化virtualenv方式一:virtualenv安装virtualenv,不用sudo的话,是安装到用户home目录下pipinstallvirtualenv#此时如果virtualenv命令还不能用,需要执行......
  • Python TensorFlow深度学习回归代码:DNNRegressor
      本文介绍基于Python语言中TensorFlow的tf.estimator接口,实现深度学习神经网络回归的具体方法。目录1写在前面2代码分解介绍2.1准备工作2.2参数配置2.3原有模型删......
  • python入门之列表推导式
    """列表推导式定义:使用简易方法,将可迭代对象转换为列表语法:变量=[表达式for变量in可迭代对象]变量=[表达式for......