Архитектура проекта Python - PullRequest
4 голосов
/ 02 июля 2010

Я разработчик Java, плохо знакомый с Python. В Java вы можете получить доступ ко всем классам в одном каталоге, не импортируя их.

Я пытаюсь добиться того же поведения в Python. Это возможно?

Я пробовал различные решения, например, импортируя все в файл, который я импортирую везде. Это работает, но мне нужно набирать myClass = rootFolder.folder2.folder3.MyClass() каждый раз, когда я хочу получить доступ к иностранному классу.

Не могли бы вы показать мне пример того, как работает архитектура Python для нескольких каталогов? Вы действительно должны импортировать все классы, которые вам нужны в каждом файле?

Представьте, что я пишу веб-фреймворк. Придется ли пользователям фреймворка импортировать все, что им нужно, в свои файлы?

1 Ответ

2 голосов
/ 02 июля 2010

Поместите все в папку (имя не имеет значения) и убедитесь, что в этой папке есть файл с именем __init__.py (файл может быть пустым).

Затем вы можете добавить следующеевверху вашего кода:

from myfolder import *

Это должно дать вам доступ ко всему, что определено в этой папке, без необходимости каждый раз давать префикс.

Вы также можете иметь несколько глубин:такие папки:

from folder1.folder2 import *

Дайте мне знать, если это то, что вы искали.

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