Найти - Пользователи
Полная версия: путь к папке выше
Начало » Python для новичков » путь к папке выше
1 2 3
Genabox
я конечно дико извинясь
но тот же вопрос остался актуальным

у меня в корне файл с основной программой
в папке sql файлы для работы с mysql базой данных
и я компилирую и отлаживаю этот файл из папки sql незвисимо от основной программы
как мне обратится к модулю папкой выше??
пришлось на время засовывать этот модуль access в папку sql……
и другие модули тоже
py.user.next
Вот здесь пример. Сначала запускаешь скрипт program.py, в нём из пакета sql импортируется модуль sqlmod, а в модуле sqlmod из пакета access импортируется модуль accessmod.
Genabox

сенкс вечером попробую
Genabox
а как выполнять функции из модулей више?
на 1 - 2 папки
py.user.next
Genabox
а как выполнять функции из модулей више?
на 1 - 2 папки
Вот здесь пример. Сначала запускаешь скрипт program.py, в нём из пакета sql импортируется модуль sqlmod, а в модуле sqlmod из пакета access импортируется модуль accessmod. Потом из пакета pkg1.pkg2.pkg3 импортируется модуль pkg3mod и в этом модуле из пакета pkg1 импортируется модуль pkg1mod и из пакета pkg1.pkg2 импортируется модуль pkg2mod. Потом в функции модуля pkg3mod запускаются функции из модулей pkg1mod и pkg2mod.
Genabox
да списаибо такая конструкция у меня есть и она работает
но как мне из pkg3 вызвать функцию из pkg1 или основного скрипта?
тоесть вызывать соседние модули если он путь только на всю глубину видит

ага у меня цыркуляр импорт в таком случаи выходит

или там разветвление модулей получается, вот именно разветвление и он не видит соседние sub модули только с основного скрипта видит, а откомпилировать сам модуль отдельно не выходит потому что не видит соседние сабмодули
Genabox
схемку набросал
py.user.next
Genabox
да списаибо такая конструкция у меня есть и она работает
Откуда она у тебя есть, я её только сегодня сделал.

Genabox
но как мне из pkg3 вызвать функцию из pkg1 или основного скрипта?
Там уже это происходит. Основной скрипт запускает функцию из пакета на большой глубине, а пакет с большой глубины поднимается всё выше и выше.
Genabox
Откуда она у тебя есть, я её только сегодня сделал
я тут уже почти все написал
да но я немогу компилировать модули отдельно потому что пишу полный путь к другому модулю а его видит только основной скрипт что есть очень неудобно

тоесть сочленять взаимомодули из других подмодулей
как же мне оттуда функции брать это очень не удобно

нужно все время запускать основное приложение
а в подмодулях писать полный путь у другим модулям что вызывает ошибку при их компиляции так как этот сабмодуль видится как основной скрипт

и это все запускаесть только основным скриптом а попрыгать по папкам как то не получается что бы еще и в основном скрипте работало так как он потом пишет - циркулярный импорт
Genabox
File “d:\discord\package\tray\traynew.py”, line 9, in <module>
import package
File “C:\Users\Gena\.virtualenvs\discord-q4ERoUCO\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py”, line 142, in _import
return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named ‘package’

package это пакет со всеми модулями
рядом с этой папкой основной скрипт который все видит
а при компиляции модуля ошибка вот это

импорт в этом модуле
 from package.discordbot.unis.weather.weather import weatherb
вот верха он и не видит, а видит модуль как основной скрипт
тоесть это работает только с основного скрипта рядом с папкой package

а собрать модуль совместно с остальными невыходит
и при вызове функции приходится это все писать package.discordbot.unis.weather.weather.weatherb()
что нужно заметить в коде он тоже как полноценную путь не видит (весь текст белый)
но оно работает с основного скприпта


тоесть я хочу компилировать независимо модули и независимо основной скрипт что есть проблема
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB