问题标签 [pickle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9552 浏览

python - __reduce__ 和 __reduce_ex__ 有什么区别?

我知道这些方法用于酸洗/解酸,与 reduce 内置函数无关,但是 2 之间有什么区别,为什么我们需要两者?

0 投票
14 回答
30405 浏览

python - 我可以将 python 字典腌制到 sqlite3 文本字段中吗?

有什么我应该注意的问题吗?我可以将它存储在文本字段中,还是需要使用 blob?(我对 pickle 或 sqlite 都不太熟悉,所以我想确保我用我的一些高级设计理念在正确的树上吠叫。)

0 投票
7 回答
8339 浏览

python - 从 xml 创建 python 对象表示的模块

我正在寻找一个易于处理的 python 本机模块来从 xml 创建 python 对象表示。

我通过谷歌找到了几个模块(其中一个是XMLObject),但不想全部尝试。

你认为做这些事情的最好方法是什么?

编辑:我没有提到我想阅读的 XML 不是由我生成的。这是一个现有的 XML 文件,其结构我无法控制。

0 投票
3 回答
586 浏览

python - 将 Python 对象序列化到 S60 手机/从 S60 手机序列化一个 Python 对象

我正在寻找一种在基于 CherryPy 的服务器和在 Symbian 手机上运行的 Python 客户端之间序列化通用Python 对象的方法。由于 pyS60 没有实现 pickle 模块,你会怎么做?

我知道Cerealizer,但它要求您在使用前注册课程(我想避免)并且看起来不太成熟。那么,您会使用什么?Python 2.2 的 pickle 模块可能是从源代码中提取的?XML、JSON?几个库中的哪一个?:)

0 投票
7 回答
2646 浏览

python - python中基本类型的轻量级泡菜?

我想做的就是序列化和反序列化字符串或整数的元组。

我查看了 pickle.dumps() 但字节开销很大。基本上,它看起来占用的空间大约是它需要的 4 倍。此外,我只需要基本类型,不需要序列化对象。

marshal 在空间方面稍微好一点,但结果充满了讨厌的 \x00 字节。理想情况下,我希望结果是人类可读的。

我想只使用 repr() 和 eval(),但有没有一种简单的方法可以在不使用 eval() 的情况下完成此操作?

这是存储在数据库中,而不是文件中。字节开销很重要,因为它可能会在需要 TEXT 列和 varchar 之间产生差异,并且通常数据紧凑性会影响数据库性能的所有领域。

0 投票
9 回答
22661 浏览

python - ImportError:没有名为 copy_reg pickle 的模块

我正在尝试取消在 MySQL 数据库中存储为 blob 的对象。我已经手动生成了腌制对象并将其存储在数据库中,但是当我尝试取消腌制对象时,我得到以下相当神秘的异常:

ImportError:没有名为 copy_reg 的模块

关于为什么会发生这种情况的任何想法?

繁殖方法

注意:必须在 Windows PC 上执行步骤 1,在 Linux PC 上执行步骤 3 和 4。

1) 在 Windows 电脑上:

2) 手动将 text.txt 的内容插入到运行在 linux 上的 MySQL 数据库的 blob 字段中

3)在Linux机器上运行的Python中,从MySQL获取列的内容

4)假设您将 blob 列的内容放入一个名为 data 的变量中,试试这个:

0 投票
3 回答
1695 浏览

python - 为什么我在酸洗后在 Python isinstance 中出现意外行为?

撇开使用isinstance 是否有害,我在通过 Pickle 序列化/反序列化对象后尝试评估 isinstance 时遇到了以下难题:

谁能解释为什么 isinstance 在这种情况下会失败?换句话说,为什么 Python 认为这些对象属于两个不同的类?当我删除第二类定义时,isinstance工作正常。

0 投票
4 回答
3167 浏览

python - 如何恢复损坏的 python“cPickle”转储?

我正在使用rss2email将一些 RSS 提要转换为邮件以便于使用。也就是说,我使用它因为它今天以一种可怕的方式坏了:每次运行时,它只给我这个回溯:

我能够从这个回溯中构建的唯一有用的事实是,保存其所有配置和运行时状态的文件以某种方式损坏~/.rss2email/feeds.datrss2email显然,rss2email读取它的状态并cPickle在每次运行时将其转储回去。

我什'sxOYAAuyzSx0WqN3BVPjE+6pgPU'至在巨型 (>12MB)feeds.dat文件中找到了包含上述字符串的行。在我未经训练的眼睛看来,转储似乎没有被截断或以其他方式损坏。

我可以尝试什么方法来重建文件?

Python 版本在 Debian/unstable 系统上为 2.5.4。

编辑

Peter Gibson 和 JF Sebastian 建议直接从 pickle 文件加载,我之前尝试过。显然,需要一个Feed在 中定义的类rss2email.py,所以这是我的脚本:

“普通”泡菜变体产生以下回溯:

该变体产生与调用自身cPickle基本相同的东西 :r2e

编辑 2

按照 JF Sebastian 的建议,将“printf 调试”放入Feed.__setstate__我的测试脚本中,这些是 Python 退出前的最后几行。

同样的事情发生在使用 python 2.4.4-2 的 Debian/etch 盒子上。

0 投票
1 回答
3146 浏览

python - 坏泡菜得到错误

我一直在使用一个名为 Mnemosyne 的闪存卡程序,它使用 python 脚本。不久前,我的电脑死机后,我的闪存卡数据库无法访问,我不得不手动关闭它。每当我尝试加载包含我的卡的数据库时,我都会收到此错误。

帮助将不胜感激。

0 投票
4 回答
9797 浏览

python - 腌制字符串的更有效方法

pickle 模块在酸洗时似乎使用了字符串转义字符;这变得低效,例如在 numpy 数组上。考虑以下

长度分别为 1133 个字符和 4249 个字符。

z.dumps() 显示类似 "\x00\x00" (字符串中的实际零)的内容,但 pickle 似乎正在使用字符串的 repr() 函数,产生 "'\x00\x00'" (零是 ascii 零)。

即 ("0" in z.dumps() == False) 和 ("0" in cPickle.dumps(z.dumps()) == True)