python数据持久存储: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]
时间: 2024-10-10 22:13:11

python数据持久存储:pickle模块的使用的相关文章

[转]python数据持久存储:pickle模块的基本使用

python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示:1:老式的二进制协议:2:2.3版本引

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

参考 http://www.cnblogs.com/pzxbc/archive/2012/03/18/2404715.html python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protoco

pickle-python数据持久存储

说白了就是:对象信息保存到文件中去,永久存储! 格式: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本, 0:ASCII协议,所序列化的对象使用可打印的ASCII码表示: 1:老式的二进制协议: 2:2.3版本引入的新二进制协议,较以前的更高效.其中协议0和1兼容老版本的python.protocol默认值为0. file:对象保存到的类文件对象. file必须有write()接口, fi

python文件操作:pickle模块多次dump后出现的读取问题

pickle模块在python中是用于数据持久化的,基本用法涉及到的也就是dump和load,亦或者dumps和loads. pickle在使用过程中有一个特点,就是由于其特殊的内容标记,使得文件dump几次,就必须load几次才能将数据全部读出来,用代码来展现就是如下形式: import pickle a=1 b=2 c=3 with open("ceshi.txt","wb") as f: pickle.dump(a,f) pickle.dump(b,f) pi

python之函数二 | pickle模块

Tips1:pickle模块 将account_info直接放到文件f里 举个例子: 日志文件,通过日志显示交易记录: 优化:

python数据的存储和持久化操作

Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. 普通文件不解释了,DBM就是把字符串的键值对存储在文件里: Python代码 % python >>> import anydbm >>> file = anydbm.open('movie', 'c') # make a DBM file called 'movie' >>> file['Batman'] =

python 之序列化(pickle模块和json模块)

#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 序列化(pickle)和json 1.什么是序列化? 序列化可以把一个对象(比如列表.字典都是对象),通过python特有的机制序列化一下. 也就是当作是以二进制的形式给它加密一下(特殊二进制的方式加密一下),这个过程就是序列化 并且对一个对象序列化(比如类.列表.字典)之后,可以进行反序列化. ''' import pickle,json li = ['tantianran',11,22,'ok

Python基础-json和pickle模块

一 .序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把字符串转化成内存数据类型 叫做反序列化 json 和 pickle 二. 只是把数据类型转化成字符串存到内存里的意义 json.dumps  json.loads 1.把你的内存数据通过网络共享给远程其他人 2.定义了不同语言的交互规则 a.纯文本,坏处,不能共享复杂的数据类型 b.xml,坏处,占用空间大 c.json,简单,可读性好 三.json与pickle的区

python数据序列化---json & pickle

json & pickle数据序列化 序列化: 就是列表,字典等数据类型转乘字符串存入文本文件 反序列: 就是字符串从文本读出来后通过一种方法转化为列表,字典等数据类型.例如eval() json通用的:只能处理一些简单的数据类型:json: 序列化和反序列化函数: 案例1:  import json  info = {   "name": "brace",   "age": 22,  }  json_str = json.dumps(i