我有一個Python包mymodule
和一個子包utils
(即一個包含每個函數的模塊的子目錄)。這些功能與它們所在的文件/模塊具有相同的名稱。從一個同名的Python模塊中導入一個函數/類
我希望能夠訪問如下功能,
from mymodule.utils import a_function
奇怪但是,有時候我可以導入使用上述符號的功能,但其他時間我不能。我一直無法弄清楚爲什麼(最近,例如,我重命名了一個函數和它所在的文件,並在utils.__init__.py
文件中反映了該重命名,但它不再作爲函數(而是作爲模塊)導入到一個文件中我的腳本。
的utils.__init__.py
讀取類似,
__all__ = ['a_function', 'b_function' ...]
from a_function import a_function
from b_function import b_function
...
mymodule.__init__.py
沒有提及utils
想法?
那麼'import mymodule.utils as utils'和'from mymodule import utils'有什麼區別? – 2010-03-26 01:19:12
@Mike DeSimone:好點。我相應地更新了我的答案。 – 2010-03-26 01:31:26