擅长:python、mysql、java
<p>这可能是一个更好的解决方案,因为它将允许通过<code>copy.deepcopy</code>创建的对象仍然具有<code>self.logger</code>:</p>
<pre><code>def __getstate__(self):
d = self.__dict__.copy()
if 'logger' in d:
d['logger'] = d['logger'].name
return d
def __setstate__(self, d):
if 'logger' in d:
d['logger'] = logging.getLogger(d['logger'])
self.__dict__.update(d)
</code></pre>