我的项目由几个Python类组成,分成几个文件。
projname/
a.py # Has classes A1 and A2
b.py # Has classes B1 B2 B3
c.py # Has class C
test/
doc/
bin/
我希望能够将这些类中的一些(或全部)公开,因此,无论是从我的bin
目录还是从另一个Python脚本,我都可以执行以下操作:
import projname
...
myvar = projname.A1()
我无法弄清楚如何做到这一点。到目前为止我能做的最好的事情是:
import projname.a
import projname.b
import projname.c
myvar = projname.a.A1()
我不喜欢这样做有两个原因:
答案 0 :(得分:2)
将__init__.py
放入projname/
,其中包含以下内容:
from .a import A1, A2
from .b import B1, B2, B3
from .c import C
这会将projname
转换为一个包,其名称空间包含__init__.py
包含的任何内容,在本例中为A1
,A2
,B1
,B2
,B3
和C
。