如何使用pickle在python中保存对象(use pickle to save objects in python)

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

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

Two rows of pickles

无论您是为数据库、游戏、论坛或其他必须在会话之间保存信息的应用程序编程,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)

此代码段将对象_pi的内容写入文件处理程序文件_pi,该文件又绑定到执行目录中的文件名_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)

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

关于pickle需要记住的事情

在使用pickle模块时,请记住以下几点:

  • pickle协议是Python特有的,不能保证跨语言兼容。您很可能无法传输信息以使其在Perl、PHP、Java或其他语言中有用。
  • 也不能保证不同版本的Python之间的兼容性。不兼容的存在是因为并非每个Python数据结构都可以由模块序列化。
  • 默认情况下,将使用最新版本的pickle协议。除非您手动更改它,否则它将保持这种状态。

提示:还可以了解如何使用shelve在Python中保存对象,以获得另一种保持对象连续性的方法。

  • 发表于 2021-09-12 09:14
  • 阅读 ( 265 )
  • 分类:编程

你可能感兴趣的文章

学习python?下面是如何操作字符串

... 如何在python中创建字符串 ...

  • 发布于 2021-03-11 10:21
  • 阅读 ( 335 )

json-python解析:简单指南

... 下面是如何表示对象数组。在这种表示法中,数组的每一项都是一个对象。以下是棒球运动员的工资样本。 ...

  • 发布于 2021-03-13 11:20
  • 阅读 ( 289 )

python字典:如何使用它编写更好的代码

... 在本文中,我们将向您介绍如何使用python字典。 ...

  • 发布于 2021-03-14 05:15
  • 阅读 ( 266 )

数组和列表在python中的工作方式

...数据类型告诉编译器(或者在Python的情况下告诉解释器)如何使用数据。数据结构指定可以执行的操作,并且通常实现特定的规则和规定。 ...

  • 发布于 2021-03-15 17:19
  • 阅读 ( 233 )

如何让python和javascript使用json进行通信

有没有想过如何在两种编程语言之间发送数据?是否尝试发送一个对象或多个数据段? ...

  • 发布于 2021-03-16 01:22
  • 阅读 ( 300 )

如何用python读写google工作表

... 在本文中,我将向您展示如何使用Python读写googlesheets。如果您刚刚开始Python之旅,那么以下5个学习Python的最佳网站是一个很好的起点。 ...

  • 发布于 2021-03-16 13:43
  • 阅读 ( 587 )

如何使用pandas将excel数据导入python脚本

...言。这里不是手动将数据复制到数据库中,而是一个关于如何使用Pandas将Excel数据加载到Python中的快速教程。 ...

  • 发布于 2021-03-19 06:40
  • 阅读 ( 367 )

如何使用python构建twitter、instagram和reddit机器人程序

... 在本文中,我将向您展示如何利用Python自动与Twitter、Reddit和Instagram帐户交互。 ...

  • 发布于 2021-03-21 23:06
  • 阅读 ( 503 )

如何使用click在python中创建自己的命令行程序

... 下面是如何使用它来活跃Python项目。 ...

  • 发布于 2021-03-23 13:56
  • 阅读 ( 276 )

如何在python中创建简单类

在面向对象语言中,类是一段可扩展的代码,表示用于创建和使用该类对象的模板。类的对象只是引用所定义类的实例。 ...

  • 发布于 2021-03-26 20:18
  • 阅读 ( 255 )