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()