pickle相关内容

Python 序列化 - 为什么选择pickle?

我了解 Python 酸洗是一种以尊重对象编程的方式“存储"Python 对象的方法 - 不同于以 txt 文件或 DB 编写的输出. 您是否有关于以下几点的更多详细信息或参考资料: 腌制对象“存储"在哪里? 为什么酸洗保留的对象表示比存储在数据库中更重要? 我可以将腌制的对象从一个 Python shell 会话检索到另一个吗? 当序列化有用时,您是否有重要的例子? 使用pi ..
发布时间:2021-12-21 21:53:31 Python

使用 Pickle/cPickle 达到最大递归深度

背景:我正在使用最小构造算法构建一个代表字典的尝试.输入列表为 4.3M utf-8 字符串,按字典顺序排序.结果图是无环的,最大深度为 638 个节点.我的脚本的第一行通过 sys.setrecursionlimit() 将递归限制设置为 1100. 问题:我希望能够将我的尝试序列化到磁盘,这样我就可以将它加载到内存中而无需从头开始重建(大约 22 分钟).我已经尝试了 pickle.du ..
发布时间:2021-12-16 08:17:42 Python

保存和加载对象并使用pickle

我正在尝试使用 pickle 模块保存和加载对象. 首先我声明我的对象: >>>类水果:通过...>>>香蕉 = 水果()>>>香蕉颜色 = '黄色'>>>香蕉值 = 30 之后,我打开了一个名为“Fruits.obj"的文件(之前我创建了一个新的 .txt 文件并将其重命名为“Fruits.obj"): >>>进口泡菜>>>filehandler = open(b"Fruits.ob ..
发布时间:2021-12-11 19:38:26 Python

如何使用泡菜来保存字典?

我已经查看了 Python 文档 提供的信息,但我还是有点糊涂.有人可以发布示例代码来编写一个新文件,然后使用 pickle 将字典转储到其中吗? 解决方案 试试这个: 进口泡菜a = {'你好':'世界'}以 open('filename.pickle', 'wb') 作为句柄:pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCO ..
发布时间:2021-12-10 15:39:31 Python

获取 TypeError:无法pickle _thread.RLock 对象

阅读了一些类似的问题,其中大部分都提到您不应该尝试序列化不可序列化的对象.我无法理解这个问题.我可以将模型保存为 .h5 文件,但这不符合我的目的.请帮忙! def image_generator(train_data_dir, test_data_dir):train_datagen = ImageDataGenerator(rescale=1/255,旋转范围 = 30,缩放范围 = 0. ..
发布时间:2021-12-09 22:30:10 Python

为什么我可以将实例方法传递给 multiprocessing.Process,而不是 multiprocessing.Pool?

我正在尝试编写一个应用程序,该应用程序将一个函数与一个 multiprocessing.Pool 并发应用.我希望这个函数是一个实例方法(所以我可以在不同的子类中对其进行不同的定义).这似乎不可能;正如我在别处了解到的,显然 绑定方法不能腌制.那么为什么以绑定方法作为目标启动 multiprocessing.Process 呢?代码如下: 导入多处理def test1():打印“你好,世界 1" ..
发布时间:2021-12-08 12:42:16 Python

Python可以pickle lambda函数吗?

我在许多线程中读到 Python pickle/cPickle 不能pickle lambda 函数.但是,以下代码使用 Python 2.7.6 运行: 导入 cPickle 作为泡菜如果 __name__ == "__main__":s = pickle.dumps(lambda x, y: x+y)f = pickle.loads(s)断言 f(3,4) == 7 这是怎么回事?或者,更 ..
发布时间:2021-12-08 12:10:29 Python

在磁盘上保留 numpy 数组的最佳方法

我正在寻找一种保存大型 numpy 数组的快速方法.我想以二进制格式将它们保存到磁盘,然后相对较快地将它们读回内存.不幸的是,cPickle 不够快. 我发现了 numpy.savez 和 numpy.load.但奇怪的是, numpy.load 将一个 npy 文件加载到“内存映射"中.这意味着对数组的常规操作真的很慢.例如,这样的事情会很慢: #!/usr/bin/python将 nu ..
发布时间:2021-12-08 09:14:55 Python

有没有一种简单的方法来腌制 python 函数(或以其他方式序列化它的代码)?

我正在尝试通过网络连接传输函数(使用 asyncore).有没有一种简单的方法来序列化 python 函数(至少在这种情况下不会有副作用)以进行这样的传输? 我希望有一对与这些类似的函数: def 传输(函数):obj = pickle.dumps(func)[通过网络发送obj]定义接收():[从网络接收obj]func = pickle.loads(s)功能() 解决方案 您可以序 ..
发布时间:2021-12-07 23:01:37 Python

使用 python 3.5 安装 cPickle

这可能很愚蠢,但我无法使用 python 3.5 docker 映像安装 cPickle Dockerfile FROM python:3.5-onbuild requirements.txt cpickle 当我尝试构建图像时 $ docker build -t 示例.将构建上下文发送到 Docker 守护进程 3.072 kB第 1 步:从 python:3.5-onbuild ..
发布时间:2021-12-07 11:56:14 Python

使用 python 3 解压 python 2 对象

我想知道是否有办法使用 Python 3.4 加载在 Python 2.4 中腌制的对象. 我一直在对大量公司遗留代码运行 2to3 以使其保持最新状态. 这样做后,在运行文件时出现以下错误: 文件“H:\fixers - 3.4\addressfixer - 3.4\trunk\lib\address\address_generic.py",第 382 行,在 read_ref_ ..
发布时间:2021-12-02 16:55:37 Python

将类实例序列化为 JSON

我正在尝试创建类实例的 JSON 字符串表示,但遇到了困难.假设这个类是这样构建的: class 测试类:值 1 = "a"值 2 = "b" 对 json.dumps 的调用是这样进行的: t = testclass()json.dumps(t) 失败并告诉我测试类不是 JSON 可序列化的. TypeError: 不是 JSON 可序列化的 我也尝试过使用pickle模块: t ..
发布时间:2021-12-02 11:44:53 Python