Я пытаюсь динамически импортировать функции из модуля на основе параметра, но не могу понять это. У меня есть функция-обработчик, затем подкаталог, заполненный файлами, каждый из которых содержит одну функцию, которую я хочу использовать. Я использую import_module
из importlib
, но это не решило мою проблему.
Моя файловая структура:
handler.py
functions
--__init__.py
--square.py
Вот мой импортированный модуль (square.py
):
def sq(param):
return param*param
Вот мой код обработчика:
from importlib import import_module
def main(fun):
file = import_module(fun)
result = fun.sq(4)
print(result)
И я называю свой обработчик как: main("functions.square")
Я хочу назвать свой обработчик как : main("functions.square.sq")
чтобы моя основная функция выглядела так:
from importlib import import_module
def main(fun):
file = import_module(fun)
result = fun(4)
print(result)
Есть идеи, как это сделать?
Спасибо за помощь.