- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要对在发生之前被 pickle 的对象进行某种处理。更准确地说,对于某个基类的子类的实例,我希望对完全不同的东西进行 pickle ,然后在加载时重新创建。
我知道 __getstate__
和 __setstate__
但这是一种非常侵入性的方法。我的理解是,这些是私有(private)方法(以双下划线开头:__
),因此会受到名称修改的影响。因此,这实际上会迫使我为我想要受到这种非标准行为影响的每个类重新定义这两种方法。此外,我并没有真正完全控制所有类的层次结构。
我想知道是否有某种简短的方法可以 Hook pickle 过程并应用 __getstate__ 和 __setstate__ 提供的这种控制,但无需修改像这样的 pickle 类。
为好奇的人提供一个旁注。这是取自使用 Django 和 Celery 的项目的用例。 Django 模型要么不可pickle,要么非常不实用且pickle 很麻烦。因此,更建议 pickle ID + 模型类的值对。然而,有时并不是直接 pickle 模型,而是模型字典、模型列表、模型列表列表等等。这迫使我编写大量我非常不喜欢的复制粘贴代码。对 pickling 模型的需求本身来自 Django-celery 设置,其中函数及其调用参数被安排为稍后执行。不幸的是,在这些争论中,通常有很多模型混合在一些不平凡的层次结构中。
编辑
我确实有可能指定一个由 Celery 使用的自定义序列化器,所以这实际上是一个能够在 pickle 之上构建一个稍微修改过的序列化器而不需要太多努力的问题。
最佳答案
唯一相关的附加 Hook 是 reduce() 和 __reduce__ex()
http://docs.python.org/library/pickle.html
What is the difference between __reduce__ and __reduce_ex__?
Python: Ensuring my class gets pickled only with the latest protocol
不确定他们是否真的提供了您特别需要的东西。
关于python - 遍历对象层次结构pickle样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5878830/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!