Если я правильно читаю ваш вопрос, похоже, вы не пытаетесь выполнить какой-либо динамический импорт (как в вопросе, упомянутом Ван Гейлом), но на самом деле пытаетесь просто импортировать все модули в пакете провайдеров , Если это так, в __init__.py
вы хотели бы получить следующее утверждение:
__all__ = ["acme1", "acme2", "acme3", "acme4", "acme5", "acme6"]
Затем импортировать все, что вы использовали бы из ... import *
from providers import *
И затем вместо того, чтобы явно использовать имя пакета в коде, вы просто вызовете импортированные классы
acme1.get()
acme2.get()
Если у вас достаточно модулей в пакете провайдеров, чтобы заполнить список __all__
становится проблемой, возможно, вы захотите разбить их на более мелкие пакеты или сохранить данные другим способом. Лично мне бы не хотелось иметь дело с динамическим импортом скеннагов каждый раз, когда я хотел повторно использовать пакет.