导入众多模块

时间:2014-06-16 17:23:02

标签: python

我正在为我的项目制作一个简单的测试人员,我的项目是一组包含许多自包含的python文件(例如,solution1.py,solution2.py等)。我的测试人员工作,但它要求我import solution1, solution2, ...,我怎样才能导入与模式匹配的所有内容?

我尝试使用glob创建文件列表并导入列表,但这给出了:

ImportError: No module named solutions

我尝试eval()它,但那是“语法无效”。

也许问题是,如何将字符串列表插入到模块列表中?

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用importlib模块导入由字符串标识的模块:

import importlib

list_of_module_names = ...
for s in list_of_module_names:
    importlib.import_module(s)

答案 1 :(得分:2)

您可以使用importlib.import_module()导入由字符串命名的模块。

如果您想构建一个import语句,则需要使用exec()而不是eval()。后者只能评估表达式;前者执行陈述。