擅长:python、mysql、java
<p>可以为类定义两个方法<code>__getstate__</code>和<code>__setstate__</code>,以覆盖默认的pickling行为。</p>
<p><a href="http://docs.python.org/library/pickle.html#object.__getstate__" rel="noreferrer">^{<cd3>}</a></p>
<p><code>__getstate__</code>应该返回要pickle的属性的dict。</p>
<pre><code>def __getstate__(self):
d = dict(self.__dict__)
del d['logger']
return d
</code></pre>
<p><code>__setstate__</code>应该使用提供的dict设置对象</p>
<pre><code>def __setstate__(self, d):
self.__dict__.update(d) # I *think* this is a safe way to do it
</code></pre>
<p>请注意,取消勾选时不会调用<code>__init__</code>,因此必须在<code>__setstate__</code>中创建记录器</p>