2014-02-24 20 views
2

module1有funcion make_class。 模块2调用它是这样的:如何在Python中更改类的模块?

Foo = make_class('Foo') 

或本:

setattr(sys.modules[__name__], 'Foo', make_class('Foo')) 

但是在这两种情况下,我们有<class 'module1.Foo'> 如何分配这一类MODULE2:<class 'module2.Foo'>? (我需要这个以满足SQLAlchemy的要求)

回答

3
Foo.__module__ = __name__ 

显式更改模块名称。你可以让make_class函数处理这个,如果你有它的模块名称参数为新类的__module__属性。

相关问题