我有一個消息文件夾(包)__init__.py
文件和其他模塊messages_en.py
裏面。在__init__.py
如果我導入messages_en
它的工作原理,但__import__
失敗,「導入錯誤:沒有模塊名爲messages_en」只有在運行時才知道程序包名稱時,如何使用__import __()導入程序包?
import messages_en # it works
messages = __import__('messages_en') # it doesn't ?
我曾經認爲「進口X」是說__import__('x')
+1和感謝的解釋,但你可以描述究竟爲什麼OP的例子不起作用?他似乎試圖將messages_en別名爲消息,這似乎(對我來說天真)是合理的。 – 2009-06-29 11:54:02
由於'wr'解釋它是由於級別造成的,我知道__import__不應該經常使用,但在這種情況下,我必須從配置文件動態讀取語言附加到消息並導入該文件 – 2009-06-29 12:55:07
此示例非常有用,特別是如果你想從子目錄加載模塊。它幫助我修復了「找不到屬性」錯誤。 – Carlos 2012-10-18 15:46:05