Python包中的单类模块

时间:2012-05-08 16:59:34

标签: python namespaces

我正在创建一个python包,我目前的结构如下:

application/utils.py

class settings():
  function foo():
    bla bla bla

class debug():
  function bar():
    bla bla bla

然后在其他模块中,可以按如下方式导入设置和调试类:

import application.utils.settings
import application.utils.debug

但是现在,这些课程变得越来越大,我想将它们放在分隔文件中。

application/utils/settings.py

class settings():
  function foo():
    bla bla bla

application/utils/debug.py

class debug():
  function bar():
    bla bla bla

在这种情况下,导入调试和设置类如下:

import application.utils.settings.settings
import application.utils.debug.debug

我觉得很不自然。 是这样做的正确方法还是我错过了什么?

2 个答案:

答案 0 :(得分:5)

您可以写application/utils/__init__.py

from application.utils.settings import Settings
from application.utils.debug import Debug

然后您将访问SettingsDebug类更短的

from application.utils import Settings
from application.utils import Debug

不要将您的类和模块命名为相同。阅读有关命名惯例的PEP8

答案 1 :(得分:0)

utils/__init__.py文件中导入您的课程,并按照以前的方式导入。