我不确定“失败”是什么意思,所以我只想说它
__import__('structures.index')应该可以工作,但它不会在当前作用域中分配模块名称。为此(然后在动态导入的模块中使用一个类),您将必须使用:structures = __import__('structures.index')structures.index.SomeClass(...)有关完整的详细信息,
__import__请参见此处。
编辑:(基于问题编辑)
要导入
neoform.structures.index并返回
index模块,请执行以下操作:
structures = __import__('neoform.structures.index', fromlist=['does not in fact matter what goes here!'])因此,如果您具有软件包名称的列表
packages,则可以使用以下代码导入其
index模块并
MyClass为每个模块实例化一些类:
modules = [ __import__('neoform.%s.index' % pkg, fromlist=['a']) for pkg in packages ]objects = [ m.MyClass() for m in modules ]


