使用importlib动态导入python类

今天跟chatgpt学了一招,场景如下:

我写了好多个模型在model/这个文件夹下,有florence2_qwen、nougat_qwen等等,

我现在要对不同的模型做不同的实验,使用哪个模型跟我main函数指定有关,比如我指定了“florence2_qwen”这个模型,main中就得给我导入`from model.florence2_qwen.armodel import ARForMultimodalGeneration `这个类,我指定了“nougat_qwen”,main中就得给我导入`from model.nougat_qwen.armodel import ARForMultimodalGeneration `,可以发现中间模型的名字是变的,怎么办呢?

使用importlib!

代码如下:

import importlib

model = "florence2_qwen"
dynamic_module_name = f"model.{model}.armodel"
class_name = "ARForMultimodalGeneration"

module = importlib.import_module(dynamic_module_name)
target_class = getattr(module, class_name)
print(target_class)

然后就成功特异性的导入你想导入的类啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值