有没有办法在我的Python包中混合子包和函数?
目前,我的布局大致如下:
lib/
__init__.py
Transform.py
Statistic.py
其中Transform.py
和Statistic.py
各包含多个函数。要使用它们,我会做类似
from lib import Transform
Transform.fft(signal);
现在我希望能够在Transform
内的包中使用函数:
from lib.Transform import bins
Transform.bins.extent(signal);
这甚至可能吗?我如何定义我的包呢?
答案 0 :(得分:1)
解决方案#1 :尝试以下布局:
lib/
__init__.py
Statistic.py
Transform
__init__.py
bins.py
在这种情况下,Transform.fft
进入lib/Transform/__init__.py
内Transform.bins.extent
和lib/Transform/bins.py
内的__init__.py
解决方案#2:如果您希望保持fft.py
简洁和干净,您还可以创建一个单独的Python模块(如__init__.py
)并将其导入{ {1}}如下:
from fft import *
在这种情况下,您还可以使用:
from lib.Transform import fft