当前位置: 首页 > 面试题库 >

Python中Pickle的常见用例

霍建柏
2023-03-14
问题内容

我看过Pickle文档,但我不知道泡菜在哪里有用。

Pickle有哪些常见用例?


问题答案:

我遇到的一些用途:

1)将程序的状态数据保存到磁盘,以便它可以在重新启动时从中断处继续执行(持久性)

2)在多核或分布式系统中通过TCP连接发送python数据(编组)

3)将python对象存储在数据库

4)将任意python对象转换为字符串,以便可以将其用作字典键(例如,用于缓存和备忘录)。

最后一个有一些问题-两个相同的对象可以被腌制并导致不同的字符串-甚至相同的对象两次被腌制也可以具有不同的表示形式。这是因为泡菜可以包含参考计数信息。

为了强调@lunaryorn的评论-
切勿从不可靠的来源获取字符串,因为精心制作的pickle可以在系统上执行任意代码。例如,请参阅https://blog.nelhage.com/2011/03/exploiting-
pickle/



 类似资料:
  • 有时,我会看到,,和用于包含Python pickle的文件,但我不确定最常见或最佳的做法是什么。我知道后三个扩展也用于其他事情。 相关的问题是:使用REST API在系统之间发送泡菜时,首选哪种MIME类型?

  • 本文向大家介绍Python 中Pickle库的使用详解,包括了Python 中Pickle库的使用详解的使用技巧和注意事项,需要的朋友参考一下 在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述。 那么为什么需要序列化和反序列化这一操作呢?   1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,

  •   Pickling 是将 Python对象 转换为 字节流 的过程, 通常称为序列化。Unpickling 是逆操作,将 字节流 转换成 python对象, 通常称为反序列化。python中我们用pickle.dump 和 pickle.load 来实现序列化和反序列化。 ## Pickling import pickle data =  {     'Names': ["Karl","R

  • 主要内容:pickle.dumps()函数,pickle.loads()函数,pickle.dump()函数,pickle.load()函数,总结Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化。也就是说,pickle 可以实现 Python 对象的存储及恢复。 值得一提的是,pickle 是 python 语言的一个标准模块,安装 python 的同时就已经安装了 pickle 库,因此它不需要再单独安装,使用

  • 本文向大家介绍在Python中利用pickle保存变量的实例,包括了在Python中利用pickle保存变量的实例的使用技巧和注意事项,需要的朋友参考一下 在工作中出于某些原因,我们可能需要将变量保存下来,这样下次就可以直接去赋值而不用重新执行某些重复耗时的操作了,这里我们用到了Python的pickle包来做变量的存储和变量加载,大家注意这个包是python自带的,不需要另外再去安装。 pick

  • 问题内容: 我需要附加一个泡菜文件(因为我一次都没有整个字典)。为此,我编写了以下代码: 但是,当我加载泡菜文件时,我在那里找不到字典f的值? 有人可以建议我应该如何添加一个泡菜文件吗? 另外,像“ dbm”这样的数据库无法满足我的需求,因为我正在Windows上工作 问题答案: 腌制流完全是独立的,因此解腌将一次解腌一个对象。 因此,要释放多个流,应重复释放该文件,直到得到EOFError为止: