Python搜索文件并导入它们

时间:2015-06-08 21:35:44

标签: python import

我需要编写一个函数来遍历目录,搜索以_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语句有效。有没有办法让模块变量被读作文件名而不是"模块"?

1 个答案:

答案 0 :(得分:0)

通过String名称导入模块的正确方法是使用另一个称为importlib的模块

import importlib

math_module = importlib.import_module("math")

print math_module.sqrt(25)
>>> 5.0