1

有没有办法在我的 Python 包中混合子包和函数?

目前,我的布局大致是这样的:

lib/
   __init__.py
   Transform.py
   Statistic.py

whereTransform.py并且Statistic.py每个都包含几个函数。要使用它们,我会做类似的事情

from lib import Transform

Transform.fft(signal);

现在我希望能够在包里面有一个函数Transform

from lib.Transform import bins

Transform.bins.extent(signal);

这甚至可能吗?我将如何定义我的包来做到这一点?

4

1 回答 1

1

解决方案 #1:尝试以下布局:

lib/
  __init__.py
  Statistic.py
  Transform
    __init__.py
    bins.py

在这种情况下Transform.fft进入内部lib/Transform/__init__.pyTransform.bins.extent内部lib/Transform/bins.py

解决方案#2:如果您希望保持__init__.py简洁,您还可以创建一个单独的 Python 模块(如fft.py)并将其导入__init__.py如下:

from fft import *

在这种情况下,您还可以使用:

from lib.Transform import fft
于 2013-07-17T13:41:21.223 回答