| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > import файлов находящихся в соседней папке |
| Автор: zloyGamer 13.6.2010, 23:57 | ||
| добрый вечер всем подскажите как для такой структуры каталогов/файлов :
из "prj\prj0.py" импортировать обьекты "myFunc2\testmod2.py" если в "prj\prj0.py" прописать: from myFunc1.testmod1 import * # - тут все ок! #а если так: from ..myFunc2.testmod2 import * #или так: from ...myFunc2.testmod2 import * то ошибка: ValueError: Attempted relative import in non-package все файлы __init__.py - пустые, вроде все делал как http://ru.wikibooks.org/wiki/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8_.D0.B2.D0.BD.D1.83.D1.82.D1.80.D0.B8_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.B0 написано, но безрезультатно. |
| Автор: scorpil 14.6.2010, 01:01 | ||
Читать надо внимательно. Но все же в Python 2.6 есть один способ. Если очень надо смотри http://python.org/dev/peps/pep-0366/. Я не разбирался. |
| Автор: zloyGamer 14.6.2010, 09:58 |
| нда..., scorpil вы открыли мне глаза ), тоесть получается в Python31 уже никак нельзя просто включить/импортнуть модуль из соседней папки? это както дико, жестко ограничивает и подталкивает к написанию велосипедов/костылей, а может у кого завалялся/есть какой нить ручной вариант импорта? |
| Автор: scorpil 14.6.2010, 17:56 | ||||
Опять...
Добавить модуль можно. Нельзя сделать это с помощью родственного импортирования, и только. Было бы довольно смешно если бы в современный язык программирования непозволял сделать такую простую "махинацию". Не советовал бы вам нарушать древовидную архитектуру программы, но если очень надо - перед импортом просто добавьте адрес нужной папки в переменную sys.path. Например:
Должно помочь. |
| Автор: zloyGamer 15.6.2010, 06:42 | ||
да, спс, я пока так и сделал
но, это не вариант |