我想将我编写的一个大python模块拆分成一个目录中的多个文件,其中每个文件都是一个函数,它可能与模块中的其他函数有依赖关系,也可能没有依赖关系。下面是我想出的一个简单的例子:
首先,这里有一个自包含的.py模块#[/pie.py]
def getpi():
return pi()
def pi():
return 3.1416
显然,这在导入和调用任何一个函数时都能正常工作。所以现在我用一个init.py文件将其拆分为不同的文件:
^{pr2}$
因为getpi()与pi()有依赖关系,因此按当前结构调用它会引发异常:>>> import pie
>>> pie.getpi()
Traceback (most recent call last):
File "", line 1, in
pie.getpi()
File "C:\python\pie\getpi.py", line 2, in getpi
return pi()
NameError: global name 'pi' is not defined
因此,为了解决这个问题,我当前的解决方案是编写init.py,如下所示:#[/pie/__init__.py]
import os as _os
__all__ = []
for _f in _os.listdir(__path__[0]):
if not _f == '__init__.py' and _f.endswith(&#