我正在为我的项目制作一个简单的测试人员,我的项目是一组包含许多自包含的python文件(例如,solution1.py,solution2.py等)。我的测试人员工作,但它要求我import solution1, solution2, ...
,我怎样才能导入与模式匹配的所有内容?
我尝试使用glob创建文件列表并导入列表,但这给出了:
ImportError: No module named solutions
我尝试eval()它,但那是“语法无效”。
也许问题是,如何将字符串列表插入到模块列表中?
谢谢!
答案 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()
。后者只能评估表达式;前者执行陈述。