2014-10-16 32 views

回答

3

使用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 
+0

這看起來像一個很好的解決方案,謝謝!我會盡快趕上你的。 – rmodrak 2014-10-16 22:00:35

+0

我很好奇,任何人都可以使用標準庫函數提供替代解決方案嗎? – rmodrak 2014-10-16 22:01:59

+0

是的,'dill'只是在封面下使用'copy_reg','save_reduce'和'save_global',所以你可以做同樣的事情......你只需要做更多的工作。 – 2014-10-16 22:07:40