我需要使用动态导入变量中的模块。
我的问题是,导入模块在目录中。
赞:
from A.B.C import D
如何导入动态文件?
喜欢这个...
module = __import__('A.B.{0}'.format('C'))
my_class = getattr(module, 'D')
instance = my_class()
我遇到错误:AttributeError:模块'A'没有属性'D'
为什么?
Python 3。
答案 0 :(得分:0)
尝试使用导入库。私有功能的使用是加载模块的首选方式。
module_object = importlib.import_module(module_name)
您模块的位置是python路径的一部分吗?
答案 1 :(得分:0)
您必须传递fromlist
参数才能在包下导入特定模块:
module = __import__('A.B.{0}'.format('C'), fromlist=('D',))
instance = D()
有关更多详细信息,请参阅__import__
's documentation。