Превращение папки в модуль в Python - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть модуль в Python, который немного растёт.Я хотел бы разделить его на более мелкие файлы, чтобы лучше управлять своим кодом, но мне бы хотелось, чтобы это выглядело так, как будто ничего не изменилось.Предположим, у меня есть классы C1 и C2 в c.py.Я хотел бы создать структуру папок

c/
    __init__.py
    c1.py    <--- class C1 in here
    c2.py    <--- class C2 in here

таким образом, чтобы я мог использовать код следующими двумя способами

import c
c1 = c.C1()
c2 = c.C2()

и

from c import *


c1 = C1()
c2 = C2()

Iуже прошли большую часть пути туда;если я определю __init__.py следующим образом,

from c1 import *
from c2 import *
__all__ == []

, тогда я могу использовать c в первом из двух способов.Как я могу использовать c вторым способом (желательно без перечисления всех C1 и C2 в __all__)

1 Ответ

0 голосов
/ 17 февраля 2012

Пропустите оператор __all__ в __init__.py, и вы сможете использовать оба метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...