视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何使用Pickle在Python中保存对象
2020-11-27 14:11:30 责编:小采
文档
 默认情况下,Pickle是Python库的一部分,只要您需要在用户会话之间保持持久性,它就是一个重要的模块。作为一个模块,pickle提供了在进程之间保存Python对象的功能。

无论您是为数据库、游戏、论坛或其他必须在会话之间保存信息的应用程序编程,pickle都有助于保存标识符和设置。pickle模块可以存储诸如布尔值、字符串和字节数组、列表、字典、函数等数据类型。

注意:pickle的概念也称为序列化、封送和扁平化。然而,关键始终是一样的——将对象保存到文件中以便以后检索。pickle通过将对象写入一个长字节流来实现这一点。

Python中的Pickle示例代码

要将对象写入文件,请使用以下语法中的代码:

import pickle 
object = Object() 
filehandler = open(filename, 'w') 
pickle.dump(object, filehandler)

以下是现实示例:

import pickle 
import math 
object_pi = math.pi 
file_pi = open('filename_pi.obj', 'w') 
pickle.dump(object_pi, file_pi)

此片段将object_pi的内容写入文件处理程序file_pi,而文件处理程序file_pi又绑定到执行目录中的文件filename_pi.obj。

要将对象的值还原到内存,请从文件中加载对象。假设尚未导入pickle以供使用,请先导入它:

import pickle 
filehandler = open(filename, 'r') 
object = pickle.load(filehandler)

以下代码恢复pi的值:

import pickle 
file_pi2 = open('filename_pi.obj', 'r') 
object_pi2 = pickle.load(file_pi2)

然后该对象再次准备好再次使用,这次是object_pi2。当然,如果您愿意,您可以重复使用原始名称。此示例为清晰起见使用不同的名称。

关于Pickle的事情

使用pickle模块时请记住以下事项:

pickle协议特定于Python - 它不保证是跨语言兼容的。您很可能无法传输信息以使其在Perl,PHP,Java或其他语言中有用。

不同版本的Python之间也不保证兼容性。存在不兼容性,因为并非每个Python数据结构都可以由模块序列化。

默认情况下,使用最新版本的pickle协议。除非您手动更改它,否则它仍然是这样。

下载本文
显示全文
专题