这个问题可能非常基本,但这里有:
我正在编写一个需要大量课程的应用程序。我想基本上将这些类捆绑到组中。为此,我基本上是创建文件夹并将类 .py 文件放在这些文件夹中。
所以一个示例文件夹结构可能是这样的:
mainApp.py
moreAppCode.py
functions
|- mathstuff.py
|- my_object.py
`- network.py
gui
|- wxMainForm.py
|- wxSplashScreen.py
`- wxAboutBox.py
现在,我发现在“import”语句中轻松引用这些类的唯一方法是__init__.py
在两个文件夹中创建文件,并在这些初始化文件中导入每个 .py 文件。所以我必须做类似的事情:
(functions/__init__.py)
from mathstuff import mathstuff
from my_object import my_object
from network import network
这确实允许我import functions
在 mainApp.py 中执行类似的操作。
但是,在我看来,应该有一种更简单、更简单的方法来实现这一点。
我真的不想做这样的事情import gui.wxMainForm.wxMainForm
(每个 .py 文件只包含一个由其文件名表示的类)。此外,这排除了做任何类似的事情import gui.*
(这是无效的)。因此,无论我发现什么,我最终都必须手动导入每个 .py 文件,无论是在init文件中还是在计划使用它们的实际 .py 文件中。
我可以通过使用来减轻一些混乱,from gui import wxMainForm
但我仍然必须这样做wxMainForm.wxMainForm()
。我也许可以from gui.wxMainForm import wxMainForm
?但是,我们仍然回到我正在使用的任何代码文件顶部的大量导入语句。
所有这一切的重点是我不想依赖那个init文件来完成这项工作,因为如果我需要重命名一个类或添加一个类,这意味着需要进入init来添加或更改它 -容易忘记做的事情,很难调试!
我错过了什么吗?
谢谢
-F