gpt4 book ai didi

python - 在 python 2.6 中加载具有变量路径的模块?

转载 作者:太空宇宙 更新时间:2023-11-03 19:23:27 25 4
gpt4 key购买 nike

我的开发环境是 python 2.6,因此 importlib.import_module() 语法对我不可用。我正在尝试加载具有由变量设置的路径的模块;这在 2.6 中可能吗?

背景是我正在轮询来自不同供应商的许多设备,因此在不同的目录中我有包装类,所有类都具有相同的方法和返回类型,它们处理特定于供应商的方法来获取我需要的数据。因此,根据供应商,我可能需要加载“platform_foo.stats”或“platform_bar.stats”,然后在生成的模块上调用相同的方法。

所以,像这样的东西,除了这显然是非工作代码:

vendor = get_vendor(hostname)
vendor_path = 'platform_%s.stats' % vendor
import vendor_path
stats = vendor_path.stats(constructor_args)

有什么想法吗?

最佳答案

您可以使用exec()在Python中执行动态代码。

就您而言,类似这样的事情应该可以解决问题。

vendor = get_vendor(hostname)
vendor_path = 'platform_%s.stats' % vendor
exec("import " + vendor_path)
stats = vendor_path.stats(constructor_args)

我在一些内置模块上尝试了这个,看起来效果很好。

关于python - 在 python 2.6 中加载具有变量路径的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8997854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com