Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 1, 2023 07:20:27

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

я конечно дико извинясь
но тот же вопрос остался актуальным

у меня в корне файл с основной программой
в папке sql файлы для работы с mysql базой данных
и я компилирую и отлаживаю этот файл из папки sql незвисимо от основной программы
как мне обратится к модулю папкой выше??
пришлось на время засовывать этот модуль access в папку sql……
и другие модули тоже

Офлайн

#2 Янв. 1, 2023 08:44:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9867
Репутация: +  853  -
Профиль   Отправить e-mail  

путь к папке выше

Вот здесь пример. Сначала запускаешь скрипт program.py, в нём из пакета sql импортируется модуль sqlmod, а в модуле sqlmod из пакета access импортируется модуль accessmod.



Прикреплённый файлы:
attachment package.tar.gz (803 байта)

Офлайн

#3 Янв. 1, 2023 09:22:53

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше


сенкс вечером попробую

Офлайн

#4 Янв. 23, 2023 20:56:10

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

а как выполнять функции из модулей више?
на 1 - 2 папки

Офлайн

#5 Янв. 24, 2023 01:50:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9867
Репутация: +  853  -
Профиль   Отправить e-mail  

путь к папке выше

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



Отредактировано py.user.next (Янв. 24, 2023 01:53:40)

Прикреплённый файлы:
attachment package.tar.gz (1,4 KБ)

Офлайн

#6 Янв. 24, 2023 01:58:22

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

да списаибо такая конструкция у меня есть и она работает
но как мне из pkg3 вызвать функцию из pkg1 или основного скрипта?
тоесть вызывать соседние модули если он путь только на всю глубину видит

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

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

Отредактировано Genabox (Янв. 24, 2023 02:05:12)

Офлайн

#7 Янв. 24, 2023 02:06:19

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

схемку набросал

Прикреплённый файлы:
attachment voice 5.png (273,5 KБ)

Офлайн

#8 Янв. 24, 2023 02:36:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9867
Репутация: +  853  -
Профиль   Отправить e-mail  

путь к папке выше

Genabox
да списаибо такая конструкция у меня есть и она работает
Откуда она у тебя есть, я её только сегодня сделал.

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



Офлайн

#9 Янв. 24, 2023 02:41:56

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

Откуда она у тебя есть, я её только сегодня сделал
я тут уже почти все написал
да но я немогу компилировать модули отдельно потому что пишу полный путь к другому модулю а его видит только основной скрипт что есть очень неудобно

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

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

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

Отредактировано Genabox (Янв. 24, 2023 03:31:52)

Офлайн

#10 Янв. 24, 2023 03:40:39

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

путь к папке выше

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()
что нужно заметить в коде он тоже как полноценную путь не видит (весь текст белый)
но оно работает с основного скприпта


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

Отредактировано Genabox (Янв. 24, 2023 03:47:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version