- 12
- 0
- 约14.65万字
- 约 10页
- 2016-12-03 发布于河南
- 举报
序列化Pytho对象pickle
序列化Python对象pickle
您在这里: 主页 ? 深入Python 3 ?
难度等级: ?????
序列化Python对象? Every Saturday since we’ve lived in this apartment, I have awakened at 6:15, poured myself a bowl of cereal, added
a quarter-cup of 2% milk, sat on this end of this couch, turned on BBC America, and watched Doctor Who. ?
— Sheldon, The Big Bang Theory
? 显示目录
深入#
序列化的概念很简单。内存里面有一个数据结构,你希望将它保存下来,重用,或者发送给其他人。你会怎么做?嗯, 这取决于你想要怎么保存,怎么重用,发送给谁。很多游戏允许你在退出的时候保存进度,然后你再次启动的时候回到上次退出的地方。(实际上, 很多非游戏程序也会这么干。) 在这个情况下, 一个捕获了当前进度的数据结构需要在你退出的时候保存到磁盘上,接着在你重新启动的时候从磁盘上加载进来。这个数据只会被创建它的程序使用,不会发送到网络上,也不会被其它程序读取。因此,互操作的问题被限制在保证新版本的程序能够读取以前版本的程序创建的数据。
在这种情况下,pickle 模块是理想的。它是Python标准库的一部分, 所以它总是可用的。它很快; 它的大部分同Python解释器本身一样是用C写的。 它可以存储任意复杂的Python数据结构。
什么东西能用pickle模块存储?
所有Python支持的 原生类型 : 布尔, 整数, 浮点数, 复数, 字符串, bytes(字节串)对象, 字节数组, 以及 None.
由任何原生类型组成的列表,元组,字典和集合。
由任何原生类型组成的列表,元组,字典和集合组成的列表,元组,字典和集合(可以一直嵌套下去,直至Python支持的最大递归层数).
函数,类,和类的实例(带警告)。
如果这还不够用,pickle模块也是可扩展的。如果你对可扩展性有兴趣,请查看本章最后的进一步阅读小节中的链接。
本章例子的快速笔记#
本章会使用两个Python Shell来讲故事。本章的例子都是一个单独的故事的一部分。当我演示pickle 和 json 模块时,你会被要求在两个Python Shell中来回切换。
为了让事情简单一点,打开Python Shell 并定义下面的变量:
shell = 1保持该窗口打开。 现在打开另一个Python Shell 并定义下面下面的变量:
shell = 2贯穿整个章节, 在每个例子中我会使用shell变量来标识使用的是哪个Python Shell。
?
保存数据到 Pickle 文件#
pickle模块的工作对象是数据结构。让我们来创建一个:
shell ①
1
entry = {} ②
entry[title] = Dive into history, 2009 edition
entry[article_link] = /archives/2009/03/27/dive-into-history-2009-edition
entry[comments_link] = None
entry[internal_id] = b\xDE\xD5\xB4\xF8
entry[tags] = (diveintopython, docbook, html)
entry[published] = True
import time
entry[published_date] = time.strptime(Fri Mar 27 22:20:42 2009) ③
entry[published_date]
time.struct_time(tm_year=2009, tm_mon=3, tm_mday=27, tm_hour=22, tm_min=20, tm_sec=42, tm_wday=4, tm_yday=86, tm_isdst=-1)① 在Python Shell
您可能关注的文档
最近下载
- 2026年春季学期幼儿园保教工作计划.docx VIP
- 2025年贵金属首饰与宝玉石检测员(中级)考试模拟试题与答案解析.docx VIP
- 2025年上海市中考历史试题卷(含答案).docx
- 2026年河北省职业院校技能大赛中职组艺术设计赛项样题第二套.docx VIP
- T_GDTEX 17-2021 纺织企业水重复利用率计算方法.docx VIP
- 纺织企业水的余热回收率和利用率计算方法.docx VIP
- SMT巡检记录表模板.xlsx VIP
- (人教2024版)数学七年级下册全册大单元教学设计(新教材).docx
- the real 10 algorithms that dominate our world真正主导世界实际算法.pdf
- GB/T 45251-2025互联网金融 个人网络消费信贷 贷后催收风控指引.pdf
原创力文档

文档评论(0)