【发布时间】:2013-01-22 19:31:44
【问题描述】:
我需要动态导入一个模块并创建一个类。
这是我在 Python 3.2 中的工作代码:
klass = {}
mod = __import__('sites.' + self.className + '_login', fromlist=[self.className])
klass[self.className] = getattr(mod, self.className)
klass[self.className](**self.args)
该模块位于“站点”文件夹中。它被称为 my_site_login 和该模块中的类“my_site”。
自从我升级到 Python 3.3 后,代码停止工作。我读到___import_____ 被 importlib.import_module 取代。我尝试了几种方法来做到这一点,但我无法让它发挥作用。
这是我试过的:
https://stackoverflow.com/a/8790051/1095101
mod = getattr(import_module('sites.' + self.className + '_login'), self.className)
我不记得我还尝试过什么。我能说的是,我在任何导入尝试后立即放置的 print() 都没有显示。我没有收到任何错误消息。它只是注意到。
抱歉这个问题,我知道它已经回答了好几次,但我尝试了一切,但没有任何效果。我简直不能再想了。 提前致谢。
【问题讨论】:
标签: python windows python-3.x python-import python-module