小编典典

当仅在运行时知道包名时,如何使用__import __()导入包?

python

我有一个包含__init__.py文件和另一个模块的消息文件夹(包)messages_en.py。在__init__.py导入的情况下,messages_en它可以正常运行,但是会__import__失败,并显示“
ImportError:No modules named messages_en”

import messages_en # it works
messages = __import__('messages_en') # it doesn't ?

我曾经认为“导入x”只是另一种说法 __import__('x')


阅读 226

收藏
2020-12-20

共1个答案

小编典典

添加globals参数对我来说就足够了:

__import__('messages_en', globals=globals())

实际上,__name__这里只需要:

__import__('messages_en', globals={"__name__": __name__})
2020-12-20