我有一个包含__init__.py文件和另一个模块的消息文件夹(包)messages_en.py。在__init__.py导入的情况下,messages_en它可以正常运行,但是会__import__失败,并显示“ ImportError:No modules named messages_en”
__init__.py
messages_en.py
messages_en
__import__
import messages_en # it works messages = __import__('messages_en') # it doesn't ?
我曾经认为“导入x”只是另一种说法 __import__('x')
__import__('x')
添加globals参数对我来说就足够了:
__import__('messages_en', globals=globals())
实际上,__name__这里只需要:
__name__
__import__('messages_en', globals={"__name__": __name__})