Python pickle模块

pickle模块中主要有dumps()函数、loads()函数、dump() 函数、load() 函数。

#pickle.dumps(‘object‘)     #序列化对象,返回值不可直接读#pickle.dump(‘object‘, f)      #序列化对象到文件中#pickle.loads(‘object‘)     #反序列化对象#pickle.load( f)     #从文件中反序列对象,返回原先的object
import pickle

obj = 123,"abcdedf",["ac",123],{"key":"value","key1":"value1"}

#pickle.dumps(‘object‘)     #序列化对象,返回值不可直接读
#pickle.dump(‘object‘, f)      #序列化对象到文件中
#pickle.loads(‘object‘)     #反序列化对象
#pickle.load(f)     #从文件中反序列对象,返回原先的object

r1 = pickle.dumps(obj)
print(r1)

r2 = pickle.loads(r1)
print(r2)

#f = open(‘db‘, ‘rb+‘)  #‘db‘是文件名
#pickle.dump(obj, f)
#f.close()

with open(‘db‘, ‘rb+‘) as f:
    pickle.dump(obj, f)

with open(‘db‘, ‘rb‘) as f:
    r3 = pickle.load(f)
    print(r3)

注意:pickle以二进制处理,所以文件打开方式应该加上b, 如‘wb‘或‘rb‘如果仅以w或r方式打开则会报错

时间: 2024-10-26 19:41:21

Python pickle模块的相关文章

[转]python pickle模块

持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让您更深一步地了解Python 的对象序列化能力. 什么是持久性? 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检索.这就是持久性.要达到这个目的,

[笔记]python pickle模块

什么叫序列化 把变量存储到磁盘的过程叫序列化,英语中也叫:pickling, serialization, marshalling, fastening. 反之,把磁盘中的变量内容读到内存中就是反序列化,又叫unpickle,名词是unpickling. 在Python中,有两个模块cPickle和pickle可以用来序列化.只不过,cPickle是用C语言写的,比较快.而pickle,是用python语言写的. 在导入过程中,常常先尝试导入cPickle模块,如果不行,才导入pickle模块.

python——pickle模块的详解

pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构.pickle模块对于错误或恶意构造的数据是不安全的. pickle协议和JSON(JavaScript Object Notation)的区别 : 1. JSON是一种文本序列化格式(它输出unicode文本,虽然大部分时间它

python pickle 模块的使用

pickle模块是能够让我们直接在文件中存储几乎任何Python对象的高级工具,并不要求我们把字符串转换来转换去,像是个超级通用的数据格式化和解析工具.想要在文件中储存字典,就直接用pickle来储存. >>>D = {'a': 1, 'b':2} >>>F = open('datafile.pkl', 'wb') >>>import pickle >>>pickle.dump(obj=D, file=F, protocol=None

python pickle 模块

为了更好的阅读,请查看我的笔记 文档:pickle模块.note链接:http://note.youdao.com/noteshare?id=cfe69f23f518f22d72e4190bc9245e65&sub=92E32B662AC44847BD7F04B850D53866 1.pickle.dump(obj, file, protocol=None, *, fix_imports=True, buffer_callback=None) 将对象 obj 封存以后的对象写入已打开的 file

python模块 - pickle模块

http://blog.csdn.net/pipisorry python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可

Python cPickle模块

新博客地址:http://gorthon.sinaapp.com/ 持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让您更深一步地了解Python 的对象序列化能力. 什么是持久性? 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您

python开发模块基础:序列化模块json,pickle,shelve

一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(dic)的

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

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