У меня есть простое приложение на Python для Visual FX (Pygame).Я хочу загрузить свои пользовательские модули в этом приложении.Каждый модуль имеет пользовательский vfx.
структура приложения:
app:
|
-main.py
-config.py
-modules
|
-01
|
-module.py
-assets
-02
|
-module.py
-assets
-XX
|
-module.py
-assets
в module.py У меня есть:
#import libs
def loadModules():
dir = []
list = os.listdir("modules")
for d in list:
path = os.path.abspath("modules") + os.sep + d
if os.path.isdir(path) and os.path.exists(path + os.sep + "module.py"):
dir.append(path + os.sep + "module.py")
return dir
#init pygame & create scene
i = 0
while true
#scene()
sys.path.append(loadModules()[0])
mod = importlib.import_module("module", __name__)
mod.draw(scene)
#print(plugin)
sys.path.remove(plugin)
if(i > 10):
sys.path.append(loadPlugins()[1])
mod = importlib.import_module("module", __name__)
mod.draw(scene)
#print(plugin)
sys.path.remove(plugin)
i += 1
Каждый module.py в модулях у меня есть метод
draw ()
для создания визуализаций
Как загрузить динамически несколько модулей со стандартным методом с одинаковым именем draw ()?В этом решении загружается только первый модуль, следующий модуль в следующем каталоге 02 не загружается.