epsilxn
@epsilxn
Fullstack at RiTG

Динамический вызов функций в python?

Вступление/Условия
1. У меня есть проект на django.
2. В нём есть отдельная директория actions.
3. В actions могут быть другие директории (не ограничено по вложенности).
4. В каждой такой директории, включая actions, находятся файлы .py, в которых есть функции или классы (тут можно выбрать более удобный вариант для решения).
5. В каждом .py файле находится только 1 функция или 1 класс, всё остальное импортируется из business layer или прочих директорий.

Сам вопрос: Как можно динамически (по строке) вызвать функцию из actions?

Суть проблемы в том, что есть таблица с обработчиками. В каждой строке есть название метода/класса/файла (также, для удобства может быть что угодно). Когда пользователь делает запрос, динамически подгружается информация о нужных обработчиках для данного роута и выполняется дальнейшая обработка
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
nnnLik
@nnnLik
Capybara god
есть либа importlib для динамического импорта модулей.

Вот как можно импортировать модуль по имени
module = importlib.import_module(f'actions.{module_name}')


ну а дальше работаете с модулем. Ну а вообще кажется каким то диким извращением. Думаю у вас что-то не так с архитектурой приложения, раз приходится делать такое
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы