我正在创建一个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
我觉得很不自然。 是这样做的正确方法还是我错过了什么?
答案 0 :(得分:5)
您可以写application/utils/__init__.py
:
from application.utils.settings import Settings
from application.utils.debug import Debug
然后您将访问Settings
和Debug
类更短的
from application.utils import Settings
from application.utils import Debug
不要将您的类和模块命名为相同。阅读有关命名惯例的PEP8
答案 1 :(得分:0)
在utils/__init__.py
文件中导入您的课程,并按照以前的方式导入。