哪个 python 库用于序列化设计不佳的 class

which python library to serialize a poorly designed class

任何人都可以帮助我了解如何以及为什么要从中进行选择吗? pickledill?

我的用例如下。 我想转储一个对象,该对象的 class 实例是通过从某些外部库 classes 的多重继承派生的。此外 class 的一个属性是字典,它具有作为值的功能。 不幸的是,该函数是在 class.

的范围内定义的
def class:
    def f():
      def that_function():
        # do someth
      # back within f() scope
      self.mydata{'foo':that_function}

对外部依赖的稳健性有何评论?

或者我可以考虑用于序列化的任何其他库?

我是 dill 作者。如果你想 pickle 的所有对象都可以被 pickle.dump pickle,你应该使用 pickle。如果一个或多个对象无法使用 pickle 进行 unpickle,则使用 dill。有关可以用 pickle 腌制的内容,请参阅 pickle 文档。 dill 可以 pickle 大多数 python 对象,但有一些例外。

如果您想考虑替代 dill,可以使用 cloudpickle,它具有与 dill 类似的功能(并且在使用 [时与 dill 非常相似=22=]).

还有其他序列化库,例如 json,但实际上它们序列化的对象比 pickle 少,因此您不会选择它们来序列化用户构建的 class.