在驻留在包中的模块中,我需要使用在该包的__init__.py
中定义的函数。如何在驻留在包中的模块中导入包,以便可以使用该函数?
在模块中导入__init__
不会导入包,而是导入一个名为__init__
的模块,从而导致具有不同名称的两个副本...
有没有一种巨蟒式的方法来做到这一点?
发布于 2009-01-12 18:40:54
这并没有确切地回答您的问题,但我建议您将函数移到__init__.py
文件之外,并将其移动到该包中的另一个模块中。然后,您可以轻松地将该函数导入到其他模块中。如果需要,您可以在__init__.py
文件中使用一条import语句,该语句也将导入该函数(在导入包时)。
发布于 2009-01-12 19:13:52
如果包被命名为testmod
,您的初始化文件是testmod/__init__.py
,包中的模块是submod.py
,那么在submod.py
文件中,您应该能够说import testmod
并使用在testmod中定义的任何内容。
发布于 2009-01-12 19:26:02
我不完全确定是什么情况,但这可能会解决你的“不同名字”的问题:
import __init__ as top
top.some_function()
或者也许?:
from __init__ import some_function
some_function()
https://stackoverflow.com/questions/436497
复制相似问题