导入任意数量的Python文件

2022-03-31 00:00:00 python python-import

问题描述

我有不同的包含神经网络的Python文件。每个PYTHON文件都有相关联的weitts.h5文件。

现在我想创建一个python求值文件,它加载所有网络/python文件及其权重,创建每个文件的一个实例,并比较它们的性能。

到目前为止,我尝试以包的形式导入,但之后无法通过索引访问模块。我如何导入所有模型并将它们的一个实例放在列表中,以便我可以通过索引访问它们?

示例

from evaluation.v03 import DQNSolver as DQN1
from evaluation.v04 import DQNSolver as DQN2
from evaluation.v05 import DQNSolver as DQN3
...

这是可行的,但我必须对每个导入进行硬编码。此外,我无法通过索引创建实例或通过索引访问它们以在所有实例之间进行比较。


解决方案

使用__import__()函数而不是import语句。如下所示:

modules = []
for i in range(10):
  modules.append( __import__('evaluation.v{:>02}'.format(i)) )

然后您可以像modules[x].DQNSolver

那样访问它们

相关文章