我有一个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