Python, раскладывание модулей по разным папочкам |
Здравствуйте, гость ( Вход | Регистрация )
Python, раскладывание модулей по разным папочкам |
Litkevich Yuriy |
14.11.2010, 1:28
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Подозреваю, что должна существовать возможность раскладывать модули по разным каталогам. Так сказать для удобства.
Но как интерпретатору сказать какие где искать? пример (есть и файлы с одинаковыми именами но из разных каталогов)
Теперь задачки: 1) положим, что в main.py нужно импортировать group1\foo.py и group1\bar.py 2) положим, что в main.py нужно импортировать group1\foo.py и group2\foo.py 3) положим, что в main.py нужно импортировать group1\foo.py, а в group1\foo.py импортировать group2\foo.py и group1\bar.py решаемая ли это задача для Питона? Например, для многих оберонов - нет, за исключением Оберон-2 |
|
|
Novak |
14.11.2010, 12:26
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
Вполне решаемая.
Для того, чтобы папка считалась модулем, необходимо, чтобы в ней был файл __init__.py Т.е. тогда твоя структура будет вот такой
Тогда из файла main.py или из любого другого, если папка src находится в pythnopath, можно сделать импорт
Если при этом встречаются одинаковые имена, то, вроде, они перекрываются, т.е. используется последнее, которое было объявлено. Чтобы использовать разные модули или классы с одинаковыми именами из разных модулей, можно использовать as при импорте
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 20:24 |