python pickle模块学习
2014-10-27 16:02
399 查看
pickle模块的基本作用是将对象序列化后写入到文件中去,
(1)序列化
第二个命令只能序列化,不能写到文件中去,返回的是一个序列
如:
(2)反序列化
如:
(3)其他命令
dump:序列化
clear_memo:清空备忘
与之对应的是
其方法有:
load:反序列化对象
load_xxxx :很多的反序列化方法
(1)序列化
pickle.dump(obj[,file][,mode]) pickle.dumps(obj[,mode])
第二个命令只能序列化,不能写到文件中去,返回的是一个序列
如:
>>> b = "let's go" >>> ret = pickle.dumps(b) >>> ret 'S"let\'s go"\np0\n.' >>>
>>> a = 5 >>> ret = pickle.dumps(a) >>> ret 'I5\n.'
(2)反序列化
pickle.load(file) pickle.loads(str)load是直接从文件从反序列化,而loads是从字符串从反序列化
如:
# -*- coding: utf-8 -*-” ''' execfile(r'E:/py_code/py_pickle/test1.py') ''' import pickle, StringIO #自定义类型。 class Person(object): def __init__(self, name, address): self.name = name self.address = address def display(self): print 'name:', self.name, 'address:', self.address.decode('gbk').encode('utf-8') jj = Person("JGood", "中国 杭州") jj.display() file = StringIO.StringIO() pickle.dump(jj, file, 0) #序列化 #print file.getvalue() #打印序列化后的结果 #del Person #反序列的时候,必须能找到对应类的定义。否则反序列化操作失败。 file.seek(0) jj1 = pickle.load(file) #反序列化 jj1.display() file.close()
>>> b = "let's go" >>> s1 = pickle.dumps(b) >>> b1 = pickle.loads(s1) >>> b1 "let's go" >>>
(3)其他命令
pickle.Pickler(file) #是一个类,其方法包含pickle常用的操作,如
dump:序列化
clear_memo:清空备忘
与之对应的是
pickle.Unpickler(file)
其方法有:
load:反序列化对象
load_xxxx :很多的反序列化方法
相关文章推荐
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- python学习之路(json & pickle 模块 ---序列化,反序列化)
- python数据持久存储:pickle模块的基本使用 分类: python python基础学习 python 小练习 2013-06-17 14:41 209人阅读 评论(0) 收藏
- Python pickle模块学习(超级详细)
- python序列化pickle模块和json模块简单学习
- python学习——pickle模块详解
- python中pickle模块学习
- Python学习笔记之泡菜模块pickle
- python pickle模块 分类: python学习 2014-12-01 16:01 129人阅读 评论(0) 收藏
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- python学习_应用pickle模块封装和拆封数据对象
- python中pickle模块学习
- Python pickle模块学习(超级详细)
- Python pickle模块学习(超级详细)
- python基础学习之pickle模块
- Python pickle模块学习(超级详细)
- Python模块学习 ---- pickle, cPickle 对象序列化/反序列化
- Python3 学习第十三弹: 模块学习五之pickle与json
- Python pickle模块学习