Python 将文件用于组织,但使包显示为平面

Python 将文件用于组织,但使包显示为平面,python,module,packages,Python,Module,Packages,我正在创建一个python包,为了便于代码组织,我想将代码分成不同的文件(目前,大部分代码直接定义在包的顶级\uuuu init\uuuuuuuuuuy.py文件中)。然而,这实际上只是为了更容易地维护代码:从用户的角度来看,将所有代码都放在顶层(即扁平包)才更有意义。最好的方法是什么 例如,如果我有两个文件foo.py: """ foo.py """ X = 1 Y = 2 Z = 3 和bar.py: """ bar.py """ A = 10 B = 11 C = 12 我把它们都放在

我正在创建一个python包,为了便于代码组织,我想将代码分成不同的文件(目前,大部分代码直接定义在包的顶级
\uuuu init\uuuuuuuuuuy.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
# ...
甚至可以使用baz import*中的

目前,我只需将所有内容导入顶级
\uuuu init\uuuuu.py
文件即可:

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

这是可行的,但这是最好的方法吗?首先,现在可以访问相同的符号,例如
baz.X
baz.foo.X
。我还担心我的Sphinx autodoc:这些符号将以“完全限定”的名称(例如,
baz.foo.X
)进行记录,但我真的希望用户将其视为顶级符号。

这有帮助吗@RoyIacob没有,不过还是谢谢你。我知道如何创建和使用包,我询问的是组织的一个特定用例。