给定模块对象导入子模块

6 投票
2 回答
3581 浏览
提问于 2025-04-15 21:41

我有一个模块,它是一个对象,现在我需要从这个模块中导入一个子模块。就像这样:

import logging
x = logging

现在我想用 x 来导入 logging.handlers,而不是用“logging”这个名字。(这是因为我在做一些动态导入,可能不知道模块的名字。)

我该怎么做呢?如果我用 import x.handlers,就会出错。

2 个回答

0

你可以使用内置的函数 __import__

http://docs.python.org/library/functions.html#import

5

试试这个:

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

注意,这个操作会返回一个指向 logging 的引用,可能你对此并不在意。不过,它会创建 x.handlers

撰写回答