腌制类变量和实例变量?

rmo*_*rak 3 python pickle

泡菜文件指出:“当类实例腌制,他们班上的数据不与他们一起腌制,只有实例数据腌。” 谁能提供在腌制和解腌时包括类变量和实例变量的配方?

Mik*_*rns 6

使用dill而不是泡菜,并确切地编码您可能已经做过的事情。

>>> class A(object):
...   y = 1
...   x = 0
...   def __call__(self, x):
...     self.x = x
...     return self.x + self.y
... 
>>> b = A()
>>> b.y = 4
>>> b(2)
6
>>> b.z = 5
>>> import dill
>>> _b = dill.dumps(b)
>>> b_ = dill.loads(_b)
>>> 
>>> b_.z
5
>>> b_.x
2
>>> b_.y
4
>>>
>>> A.y = 100
>>> c = A()
>>> _c = dill.dumps(c)
>>> c_ = dill.loads(_c)
>>> c_.y
100
Run Code Online (Sandbox Code Playgroud)