使用__import__加载动态模块

时间:2014-02-07 15:57:54

标签: python python-2.7 import

我想创建一个函数来加载目录中的所有.py文件,然后使用

导入它们

__ import __ (),但我不断收到 ImportError:没有名为toolboxtool1的模块

这是文件结构:

project/dirreader.py
project/tools/toolboxtool1.py
project/tools/toolboxtool2.py
project/tools/toolboxtool3.py

我做错了什么?

import os
os.chdir(os.getcwd()+"/tools/")
stuff = os.listdir(os.getcwd())
for i in range(0,len(stuff)):
    if stuff[i][-3:] == ".py":
        stuff[i] = stuff[i][:-3]
    else:
        pass
modules = map(__import__, stuff)

1 个答案:

答案 0 :(得分:1)

尝试使用"tools."

为模块名称添加前缀
stuff[i] = 'tools.' + stuff[i][:-3]

因为您尝试导入的模块位于tools模块包中。