12345678910111213141516171819202122232425 |
- import importlib
- import logging
- def load_class(name: str):
- """
- load class by name
- """
- name_components = name.split(".")
- if not name_components:
- logging.error("Invalid class name: %s", name)
- return
- module_name = ".".join(name_components[:-1])
- class_name = name_components[-1]
- try:
- module = importlib.import_module(module_name)
- a_class = getattr(module, class_name)
- logging.info("load class: %s", a_class)
- return a_class
- except ImportError:
- logging.error("Module not found: %s", name)
- except AttributeError:
- logging.error("Class not found: %s", name)
|