python - 导入任意数量的 python 文件

标签 python python-import

我有不同的包含神经网络的 python 文件。每个 python 文件都有关联的 weights.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一样访问它们

关于python - 导入任意数量的 python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53847645/

相关文章:

python - 如果您从不重新定义任何内置函数,为什么还要导入内置函数?

python - "import lib.subpackage.blah as foo"问题 - "AttributeError: module ' lib ' has no attribute ' 子包 '"

python-3.x - 如何从python3中的同级目录导入?

python - 导入错误: cannot import name between two files importing the same

python - selenium 找不到元素

python - 如何在程序中重复功能

Python:with open 第二次不读取任何内容

python del 没有释放所有内存

python - 如何从 SqlAlchemy 中的多对多集合中删除所有项目?

python - 使用 python 在 Squish 中导入文件