本质上,我试图建立一个扩展系统,每个插件通过文件中的相应功能挂钩到重要的功能。我需要一种方法来运行这个函数并获得返回值,只需循环遍历"插件" 。目录
我能做到这一点吗?
答案 0 :(得分:0)
您可以使用__import__
所以你只需要迭代文件夹寻找py文件(不是pyc)并导入它们
for root, dirs, files in os.walk(src_path):
for f in files:
if f.endswith('.py'):
m = __import__(f)
m
现在将成为模块的instanc,因此如果你有一个名为my_func
的函数,你可以这样做:
m.my_func()
或者如果您将函数的名称作为字符串:
getattr(m,'my_func')()