Spaces:
Sleeping
Sleeping
import importlib.util | |
def load_module(module_filename, class_name): | |
# 使用 spec_from_file_location 获取模块规范 | |
spec = importlib.util.spec_from_file_location("db_module", module_filename) | |
# 如果 spec 是 None,说明无法加载模块 | |
if spec is None: | |
raise ImportError(f"Cannot find module at {module_filename}") | |
# 使用 module_from_spec 创建一个新的模块对象 | |
module = importlib.util.module_from_spec(spec) | |
# 执行模块 | |
spec.loader.exec_module(module) | |
MyClass = getattr(module, class_name, None) | |
if MyClass is None: | |
raise ImportError(f"Cannot find class '{class_name}' in module '{module_filename}'") | |
return MyClass() | |