问题标签 [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 投票
6 回答
23216 浏览

python - python的pickle文件是跨平台的吗?

我已经创建了一个我的小型 python 脚本。我在 Linux 上保存了 pickle 文件,然后在 Windows 上使用它,然后在 Linux 上再次使用它,但现在该文件在 Linux 上无法运行,但在 Windows 上运行良好。是这样的,python 是 coss 平台的,但 pickle 文件不是。这个有什么解决办法???

0 投票
2 回答
668 浏览

ruby-on-rails - 铁轨/黄瓜/泡菜

所以在我的功能文件中,我有一个登录后台步骤:

在下一步中,我希望能够包含一个 user_id,但不确定如何获取我已登录的 @current_user。

如何使用 @current_user 创建正确的关系?

谢谢。

0 投票
2 回答
4112 浏览

python - 在 Python 中腌制一个静态方法

我一直在尝试腌制一个包含对静态类方法的引用的对象。Pickle 失败(例如 on module.MyClass.foo)说明它不能被腌制,因为module.foo它不存在。
我提出了以下解决方案,使用包装器对象在调用时定位函数,保存容器类和函数名:

不过我想知道,有没有更好、更标准的方法来腌制这样的物体?我不想更改全局pickle进程(copy_reg例如使用),但以下模式会很棒:class MyClass(object): @picklable_staticmethod def foo(): print "done."

我在这方面的尝试没有成功,特别是因为我无法从foo函数中提取所有者类。我什至愿意接受明确的规范(例如@picklable_staticmethod(MyClass)),但我不知道有什么方法可以直接引用MyClass定义它的类。

任何想法都会很棒!

与那丹

0 投票
6 回答
3747 浏览

python - 单例 python 生成器?或者,腌制一个python生成器?

我正在使用以下代码和嵌套生成器来迭代文本文档并使用get_train_minibatch(). 我想保留(腌制)生成器,这样我就可以回到文本文档中的同一位置。但是,您不能腌制生成器。

  • 是否有一个简单的解决方法,以便我可以保存我的位置并从我停止的地方重新开始?也许我可以做get_train_example()一个单例,所以我周围没有几个发电机。然后,我可以在这个模块中创建一个全局变量来跟踪距离get_train_example()

  • 你有更好(更清洁)的建议,让我坚持这个生成器吗?

[编辑:还有两个想法:

  • 我可以向生成器添加一个成员变量/方法,这样我就可以调用 generator.tell() 并找到文件位置吗?因为那样,下次我创建生成器时,我可以要求它寻找那个位置。这个想法听起来是最简单的。

  • 我可以创建一个类并将文件位置作为成员变量,然后在类中创建生成器并在每次生成时更新文件位置成员变量吗?因为那时我可以知道它进入文件有多远。

]

这是代码:

0 投票
7 回答
23604 浏览

python - 如何在 python 中腌制一个动态创建的嵌套类?

我有一个嵌套类:

..和一个像这样引用嵌套类类型(不是它的实例)的对象

尝试序列化 ObjectToPickle 类的实例会导致:

PicklingError:无法腌制 <class 'setmanager.app.site.widget_data_types.TextType'>

有没有办法在 python 中腌制嵌套类?

0 投票
3 回答
3709 浏览

python - 使用多处理时出现奇怪的解酸错误

使用多处理时出现以下错误:

我完全不知道这意味着什么,尽管这听起来像是 C 级别的问题。任何人都可以对此有所了解吗?

更新:好的,所以我想出了如何解决这个问题。但我还是有点困惑。我正在返回这个类的一个实例:

如果我返回这个对象的一个​​实例,我会得到错误。但是,如果我调用to_dict并返回字典,它就可以工作。我究竟做错了什么?

0 投票
3 回答
1396 浏览

python - 我可以在不显式序列化的情况下将 python 字典存储在谷歌的 BigTable 数据存储中吗?

我有一个 python 字典,我想将它存储在 Google 的 BigTable 数据存储中(它是db.Model类中的一个属性)。

是否有捷径可寻?即使用一个db.DictionaryProperty?还是我必须使用 pickle 来序列化我的字典?我的字典比较简单。它由字符串作为键组成,但它也可能包含某些键的子字典。例如:

PS:如果可能的话,我想序列化为二进制,而不是文本。

0 投票
4 回答
629 浏览

python - Python - numpy.void 对象的酸洗失败

键出来的很好,值被搞砸了。我尝试以二进制模式加载文件;没有解决问题。知道我做错了什么吗?


编辑:这是二进制代码。请注意,未腌制对象中的值不同。


好的,我已经隔离了问题,但不知道为什么会这样。首先,显然我正在腌制的不是元组(尽管它们看起来像),而是 numpy.void 类型。这是一个系列来说明这个问题。

0 投票
1 回答
407 浏览

python - 为什么此代码返回“复杂”?

为什么?
以下代码是被调用的 pickle 函数:

0 投票
4 回答
3145 浏览

python - 跨程序会话(pickle、json、xml、数据库等)保存复杂 Python 数据结构的最佳方式

寻找有关跨程序会话保存复杂 Python 数据结构的最佳技术的建议。

以下是我迄今为止提出的技术列表:

  • 泡菜/泡菜
  • json
  • jsonpickle
  • xml
  • 数据库(如 SQLite)

Pickle 是最简单和最快的技术,但我的理解是,不能保证 pickle 输出将适用于各种版本的 Python 2.x/3.x 或 Python 的 32 位和 64 位实现。

Json 仅适用于简单的数据结构。Jsonpickle 似乎纠正了这一点,并且似乎被编写为可以跨不同版本的 Python 工作。

序列化为 XML 或数据库是可能的,但需要额外的努力,因为我们必须自己手动进行序列化。

谢谢你,马尔科姆