Динамическое создание из строкового имени класса в динамически импортированном модуле?

В Python мне нужно создать экземпляр определенного класса, зная его имя в строке, но этот класс «живет» в динамически импортируемом модуле. Ниже приведен пример:

сценарий класса загрузчика:

import sys
class loader:
  def __init__(self, module_name, class_name): # both args are strings
    try:
      __import__(module_name)
      modul = sys.modules[module_name]
      instance = modul.class_name() # obviously this doesn't works, here is my main problem!
    except ImportError:
       # manage import error

сценарий с некоторым динамически загружаемым модулем:

class myName:
  # etc...

Я использую это расположение для создания любого динамически -loaded-module для использования классом загрузчика в соответствии с определенными предопределенными поведениями в dyn -loaded-modules ...

149
задан martineau 27 July 2019 в 21:42
поделиться