代码之家  ›  专栏  ›  技术社区  ›  Ram Rachum

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

  •  5
  • Ram Rachum  · 技术社区  · 14 年前

    我得到一个模块作为对象,我需要从中导入一个子模块。这样地:

    import logging
    x = logging
    

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

    我该怎么做?如果我这样做 import x.handlers 它失败了。

    2 回复  |  直到 11 年前
        1
  •  5
  •   Ignacio Vazquez-Abrams    14 年前

    尝试:

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

    注意,这将返回对 logging ,你可能不会在意。它将创造 x.handlers 不过。

        2
  •  0
  •   Jan Tojnar    14 年前

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