我需要编写一个函数来遍历目录,搜索以_prj.py结尾的文件,然后从那里提取一些列表。我现在这样做的方法是使用os.path.walk
然后导入。我的代码如下所示:
for py_file in files:
if py_file.endswith("_prj.py"):
print py_file[:-3]
module = py_file[:-3]
import module
但是,我收到导入错误:
ImportError: No module named module
我想我理解为什么,我只是不确定如何使import语句有效。有没有办法让模块变量被读作文件名而不是"模块"?
答案 0 :(得分:0)
通过String名称导入模块的正确方法是使用另一个称为importlib
的模块
import importlib
math_module = importlib.import_module("math")
print math_module.sqrt(25)
>>> 5.0