好的,所以我试图找到一种方法来获取包中所有模块的列表,变成一个变量。
我的文件结构是这样的:
main/
app.py
__init__.py
modules/
__init.py
mod_1.py
mod2.py
所有代码都是从app.py运行的。 modules文件夹中将包含许多不同的模块,由具有通用接口的几个人制作。目标是让app.py导入main.modules中所有模块的列表,然后遍历它们,进行如下调用:
for mod in module_list:
mod.add(5,2)
我有一个工作版本,我有一个文件名列表,然后使用module_list = map(__import__, file_list)
制作一个我能够循环并调用的模块列表。问题是,我正在使用sys.append的可怕方法(' path / to / module / folder /')并按.py扩展名过滤来获取我的文件列表,但问题是这在其他计算机上不能很好地工作。使用 init .py文件,我现在可以从任何地方正确导入我的主/包:
import main
(显然有更好的名字)。我能做的事情如下:
main.modules.mod_1.add(5,2)
from main.modules import *
mod_1.add(5,2)
mod_2.add(6,2)
但我无法找到一种方法来列出main.modules'包中的所有模块
mods = main.modules.*
mods = from main.modules import *
import main.modules.* as mods
所有人都不能工作,而且是我能来的最近的人。任何帮助都会很棒,谢谢!