我想动态地将所有模块加载到一个给定的目录(modules
),并在每个目录(.main()
)中运行一个特定的方法
我遇到了以下问题:How to load all modules in a folder?
最终得到以下代码:
我的main.py
import modules
if __name__ == "__main__":
for module in modules.__all__:
module.main()
modules
文件夹中的__init__.py
如下所示:
from os.path import dirname, basename, isfile, join
import glob
modules = glob.glob(join(dirname(__file__), "*.py"))
__all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
但是,我得到以下错误:
'str' object has no attribute 'main'
我相信这是一个新手问题,但我不知道怎么做
您需要先导入模块
相关问题 更多 >
编程相关推荐