Python中的相对导入
📁 python, 问题, 帮助
从某个时候开始(当相对导入被取消后),我无法正常解决这个问题:
假设程序结构如下
app/ __init__.py foo/ __init__.py handler.py如何从模块 handler.py 中加载 foo 包中的内容?
问题在于,最初包名 foo 是未知的,我是通过 importlib 加载它的。
目前我找到了这样一个临时解决方案:截断变量 __name__,它在 handler.py 中等于 'foo.handler',即这样
foo_name = __name__.rsplit('.', 1)[0]然后加载我需要的模块
needle_module = importlib.import_module('.' + <模块名>, foo_name)但是,正如