我正在尝试将动态生成的类腌制为替代类的工厂。类似于以下内容:
import sys, pickle
class BC(object):
pass
C = type("NewClassName", (BC,), {})
pickle.dump(C, sys.stdout)
这会导致以下错误:
pickle.PicklingError: Can't pickle <class '__main__.NewClassName'>: it's not found as __main__.NewClassName
要腌制动态生成的类的对象,您可以定义一个__reduce__
方法,但是有没有办法仅针对类定义来实现这一点。
我不想直接使用 BC,因为我只需要它作为新类的工厂。