Ric*_*ite 12 python wxpython namespaces
我有一个wxPython应用程序,它在各自的模块中使用各种GUI类来调用gui.使用此设置,导入主窗口将按如下方式完成:
from gui.mainwindow import MainWindow
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来很乱,所以我更改了包的文件,__init__.pygui将类直接导入包命名空间:
from mainwindow import MainWindow
Run Code Online (Sandbox Code Playgroud)
这允许我像这样导入主窗口:
from gui import MainWindow
Run Code Online (Sandbox Code Playgroud)
这在美学上看起来更好,我认为它也更接近地代表了我正在做的事情(MainWindow从gui"命名空间" 导入类).我制作gui软件包的原因是为了将所有GUI内容保持在一起.我可以轻松地创建一个gui模块并将所有GUI类填充到其中,但我认为这将是无法管理的.该软件包现在看起来像一个模块,但允许我将类分成它们自己的模块(以及辅助函数等).
整件事让我感到有点小气,我只是觉得我会把它扔出去看看其他人对这个想法的看法.
好吧,这是一个非常普遍的模式,我认为这也是您可以在文件中包含内容的原因__init__.py。
作为确认,只需grep在__init__.py文件中使用import语句,您就会发现它已在标准库和通用包中广泛使用。