1

这个问题可能非常基本,但这里有:

我正在编写一个需要大量课程的应用程序。我想基本上将这些类捆绑到组中。为此,我基本上是创建文件夹并将类 .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

4

0 回答 0