如何在没有子包的情况下创建包含多个文件的python包

2024-09-27 09:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个包含几个类的包(mypackage),但希望这些类包含在多个文件中。在

例如,我希望类_a.py包含一个名为ClassA的类,等等。。。在

因此,我希望以下文件结构:

  .../mypackage 
       __init__.py
       class_a.py
       class_b.py
       ...

但是,我希望加载并使用包,如下所示:

^{pr2}$

我需要做些什么(我假设在uinit_uuy.py中)才能实现这一点。目前,它使用mypackage.class_a.ClassA()“?在


Tags: 文件pyinit结构classmypackagepr2classa
3条回答

如前所述,在类的__init__.py中,使用以下内容:

from class_a import ClassA
from class_b import ClassB

对于没有类的文件,请使用以下命令:

^{pr2}$

或者如果只想公开文件的特定方法:

from .file_a import method_a
from .file_b import method_b

在您的__init__.py中,添加以下内容:

from class_a import ClassA
from class_b import ClassB

del class_a
del class_b

使您的__init__.py从其他文件导入您的ClassAClassB等。在

然后您将能够import mypackage并使用mypackage.ClassA,或者{},并将其作为不合格的ClassA使用。在

有点背景。在

一个import foo语句查找foo.py,然后查找foo/__init__.py,并将该文件中定义的名称加载到当前命名空间中。把你需要的东西放进__init__.py。在

另外,take a look at ^{} top-level variable如果你倾向于from mypackage import *。在

相关问题 更多 >

    热门问题