如何使用Pickle在Python中保存对象


本文摘自php中文网,作者藏色散人,侵删。

默认情况下,Pickle是Python库的一部分,只要您需要在用户会话之间保持持久性,它就是一个重要的模块。作为一个模块,pickle提供了在进程之间保存Python对象的功能。

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

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

Python中的Pickle示例代码

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

1

2

3

4

import pickle

object = Object()

filehandler = open(filename, 'w')

pickle.dump(object, filehandler)

以下是现实示例:

1

2

3

4

5

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以供使用,请先导入它:

1

2

3

import pickle

filehandler = open(filename, 'r')

object = pickle.load(filehandler)

以下代码恢复pi的值:

1

2

3

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协议。除非您手动更改它,否则它仍然是这样。

以上就是如何使用Pickle在Python中保存对象的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python统计不同字符的个数

Python中pack和unpack用法介绍

在macos上如何安装pip

Python中while循环的使用方法

学完Python能做什么?

Python和c语言的主要区别

Python有map吗

Python英语是什么意思

Python怎么求最大公约数和最小公倍数

一文告知选择Python2和Python3的区别

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...