导入给定模块对象的子模块

时间:2010-04-16 15:12:33

标签: python dynamic import

我给了一个模块作为对象,我需要从中导入一个子模块。像这样:

import logging
x = logging

现在我想仅使用logging.handlers导入x而不是名称“logging”。 (这是因为我正在进行一些动态导入,并且不知道模块的名称。)

我该怎么做?如果我做import x.handlers则失败。

2 个答案:

答案 0 :(得分:5)

尝试:

__import__('%s.handlers' % x.__name__)

请注意,这将返回对logging的引用,您可能不会关心它。它会创建x.handlers

答案 1 :(得分:0)

您可以使用内置函数__import__http://docs.python.org/library/functions.html#import