擅长:python、mysql、java
<p>pickle模块正在尝试从该模块获取TextType类。但是由于类是嵌套的,所以它不起作用。贾森的建议会奏效的。
下面是pickle.py中负责错误消息的行:</p>
<pre><code> try:
__import__(module)
mod = sys.modules[module]
klass = getattr(mod, name)
except (ImportError, KeyError, AttributeError):
raise PicklingError(
"Can't pickle %r: it's not found as %s.%s" %
(obj, module, name))
</code></pre>
<p><code>klass = getattr(mod, name)</code>当然在嵌套类情况下不起作用。要演示正在进行的操作,请在选取实例之前尝试添加这些行:</p>
<pre><code>import sys
setattr(sys.modules[__name__], 'TextType', WidgetType.TextType)
</code></pre>
<p>此代码将TextType作为属性添加到模块中。腌制应该很好。不过,我不建议你用这种方法。</p>