You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用importlib导入models模块下的Model类?(文件名与类名为变量)

解决importlib动态导入类的问题

你出错的核心原因是importlib.import_module()只能用来导入模块(即.py文件或包),不能直接定位到模块里的类。你写的"models.model.Model"里的Model是类名,不是模块名,所以会触发找不到模块的错误。

正确的做法分两步走:

  • 先用importlib.import_module导入目标模块
  • 再通过getattr()从模块中取出对应的类

基础实现代码

import importlib

# 第一步:导入models.model模块
target_module = importlib.import_module("models.model")
# 第二步:从模块中获取Model类并赋值给NamedModel
NamedModel = getattr(target_module, "Model")

适配变量场景的写法

如果你的模块路径和类名都是变量,直接替换参数即可:

import importlib

# 假设这两个是动态获取的变量
module_path = "models.model"
class_name = "Model"

target_module = importlib.import_module(module_path)
NamedModel = getattr(target_module, class_name)

这样就能完全满足你用变量动态导入类的需求。

内容的提问来源于stack exchange,提问作者adroit.levees.0r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:34:53