python - 如何即时导入类并将其实例化为对象?

标签 python module

我知道我们可以使用 exec 即时加载模块(从字符串)

例如

path  = 'A.B'
class = 'C'
exec( "from %s import %s" %(path, class) )

但是我如何将它实例化为对象 c 呢?顺便说一句,上面是从字符串加载模块的最佳方法吗?看起来不太安全。谢谢

问候, 约翰

最佳答案

对于python<=2.6,可以使用内置的__import__功能:

m = __import__('A.B', globals(), locals(), ['C'])
C = getattr(m, 'C')
c = C()

关于python - 如何即时导入类并将其实例化为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7960321/

相关文章:

python - 如何在列表中选择随机位置,翻转位,然后浏览下一个项目

magento - 如何在管理端显示所有(产品)类别列表 : Magento

python - `import module` 是否比 `from module import function` 更好的编码风格?

python - 带有 python 套接字的 HTTP 服务器

python - IBM-Watson 文本转语音抛出 "403:Forbidden"错误

python从父包导入模块

module - 对 rust 模块感到困惑

java - Maven 和 java 插件框架

magento - 重定向 magento 中的页面并显示成功消息

python - 为什么 dict 和 lru_cache 对所有哈希为 0 的键的处理方式不同?