Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2021 14:37:06

vfs
Зарегистрирован: 2021-01-13
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорты модули exe

Есть два скрипта, один запускает другой и они могут обмениваться данными.
Как сделал я: тупо два exe файла, обмен данными через сокет, вроде все хорошо, но есть сомнения.
Вопрос - возможна ли другая реализация как например импорт в скрипт1 скрипт2, и тогда если я скажем в середине своего кода 1скрипта где мне нужно вызову основной код скрипта2

 from script2 import script2_main
,
то он как раз и выполниться, но тогда как делать обмен данными между ними, может ссылаясь на имя модуля или может вообще содержимое скрипта2 мне следует сделать одним большим классом, все функции станут методами, и тогда импортировать этот класс, но там тогда всплывает ньюанс - одна функция, ивент, должна будет прервать выполнение другой функции, завершиться самой, и при этом скрипт1 еще должен остаться работать….просто ааааАаааа..сложно….
P.S. скрипт2 содержит в себе много функций, листнер клавиатуры с ивентом.
т.е. как минимум мне нужно чтобы скрипт2 в процессе своего выполнения сообщал данные и я мог к ним обращаться из скрипта1

Отредактировано vfs (Фев. 5, 2021 15:00:07)

Офлайн

#2 Фев. 5, 2021 15:41:16

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Импорты модули exe

vfs
Вопрос - возможна ли другая реализация как например импорт в скрипт1 скрипт2, и тогда если я скажем в середине своего кода 1скрипта где мне нужно вызову основной код скрипта2
Конечно возможна, но для того вы должны писать скрипт2 с таким прицелом что его будут импортировать.
Если нужн обратная связь в процессе выполнения можно использовать каллбек функции. Можно написать чтото наподобии сигналов в PyQT https://stackoverflow.com/questions/21101500/custom-pyqtsignal-implementation Можно использовать multiprocessing, а взаимодействие между процессами организовать через Pipe() но опять же нужно переписывать второй скрипт чтобы он понимал что данные нужно отправлять/получать в/из “трубы”.
Как правильнее нужно смотреть в каждом случае индивидуально.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 5, 2021 15:41:36)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version