如何从路径动态导入python

时间:2018-08-01 10:22:00

标签: python module python-import

我需要使用动态导入变量中的模块。

我的问题是,导入模块在目录中。

赞:

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。

2 个答案:

答案 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