使用文件进行组织,但包显示为平

时间:2014-05-12 14:18:09

标签: python module packages

我正在创建一个python包,为了代码组织,我想将我的代码拆分成不同的文件(目前,大部分都直接在包的顶级__init__.py中定义文件)。然而,这实际上只是为了更容易维护代码:从用户的角度来看,真正更有意义的是它都处于顶层,即扁平封装。这样做的最佳方式是什么?

例如,如果我有两个文件,foo.py:

""" foo.py """
X = 1
Y = 2
Z = 3

并且bar.py:

""" bar.py """
A = 10
B = 11
C = 12

我将它们全部放在名为“baz”的软件包中,我希望用户能够做到:

import baz
baz.X
baz.A
# ...

甚至使用from baz import *

我目前正在通过将所有内容导入顶级__init__.py文件来实现此目的:

""" ___init__.py """
from foo import *
from bar import *

这有效,但这是最好的方法吗?首先,现在可以访问相同的符号(例如)baz.Xbaz.foo.X。我也关注我的Sphinx autodoc:符号将以“完全限定”的名称(例如baz.foo.X)记录,但我真的希望用户将它们视为在顶层

0 个答案:

没有答案