2012-05-08 6 views
2

творю пакет питона, где я в настоящее время имеют структуру, как показано ниже:модули один класс в пакете 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 

То, что я чувствую себя совершенно неестественно. Правильно ли это, или я что-то упускаю?

ответ

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 об условном обозначении

+0

Это аккуратно! Спасибо за ответ. – Eric

0

Импортируйте свои классы в свой файл utils/__init__.py и импортируйте их, как вы привыкли.

Смежные вопросы