码迷,mamicode.com
首页 > 其他好文 > 详细

pickle模块

时间:2019-01-21 22:49:24      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:put   ref   反序   elf   运行   sel   nbsp   span   序列化   

注意:1、所有pickle文件的读写都要用二进制形式即’rb‘ 、‘wb‘等形式,不然会报错。

  2、个人理解:pickle模块相当于在文件保存读取中加了一个步骤以便于将程序运行中的信息保存到文件中去。

  • pickle.dump()将文件保存为pickle模式
  • pickle.load()读取pickle文件

python的pickle模块实现了基本的数据序列和反序列化。

通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。

通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

基本接口:

pickle.dump(obj, file, [,protocol])

有了 pickle 这个对象, 就能对 file 以读取的形式打开:

x = pickle.load(file)

注解:从 file 中读取一个字符串,并将它重构为原来的python对象。

file: 类文件对象,有read()和readline()接口。

实例1:

#!/usr/bin/python3
import pickle

# 使用pickle模块将数据对象保存到文件
data1 = {‘a‘: [1, 2.0, 3, 4+6j],
         ‘b‘: (‘string‘, u‘Unicode string‘),
         ‘c‘: None}

selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)

output = open(‘data.pkl‘, ‘wb‘)

# Pickle dictionary using protocol 0.
pickle.dump(data1, output)

# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)

output.close()

 

实例2:

#!/usr/bin/python3
import pprint, pickle

#使用pickle模块从文件中重构python对象
pkl_file = open(‘data.pkl‘, ‘rb‘)

data1 = pickle.load(pkl_file)
pprint.pprint(data1)

data2 = pickle.load(pkl_file)
pprint.pprint(data2)

pkl_file.close()

示例3:小甲鱼python视频 031

pickle模块

标签:put   ref   反序   elf   运行   sel   nbsp   span   序列化   

原文地址:https://www.cnblogs.com/Chris-01/p/10301302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!