Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 27, 2016 16:23:18

ricof
Зарегистрирован: 2016-04-11
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

Есть программа для взаимодействия с 3d-принтером. Я прикрутил к ней модуль, который позволяет работать с текстовым дисплеем, тактовый кнопками и флешкой. Запускается программа, потом автоматически стартует модуль, который считывает файлы с флешки и выводит их на дисплей в виде списка. Список листается тактовыми кнопками и потом имя выбранного файла в переменной передаётся в основную программу из модуля. Программа печатает этот файл и нужно выводить процент печати на дисплей. Для отображния процесса печати в % в программе существует отдельная переменная. Но если я снова вызову модуль, работа основной программы приостановится, пока модуль снова не закроется. Как в режиме реального времени без костылей передавать в модуль значение переменной?

Офлайн

#2 Апрель 27, 2016 16:31:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

ricof
Но если я снова вызову модуль, работа основной программы приостановится, пока модуль снова не закроется.
ricof
Как в режиме реального времени без костылей передавать в модуль значение переменной
Вы что-то с чем-то сильно путаете. Модули не вызывают и значения в них не передают. Модуль, это файл с питоним кодом.



Офлайн

#3 Апрель 27, 2016 19:50:14

ricof
Зарегистрирован: 2016-04-11
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

FishHook
Вы что-то с чем-то сильно путаете. Модули не вызывают и значения в них не передают. Модуль, это файл с питоним кодом.
Возможно я не так выразился. У меня есть программа1 (П1) и программа2 (П2).
Запускается П1, потом автоматически запускается П2. П2 помещает в глобальную переменную имя файла и закрывается. П1 возобновляет работу, получает имя файла из этой переменной и грузит файл. Мне нужно чтобы П2 показывала процент загрузки, который она будет получать из П1

Сейчас у меня все выглядит так:
Программа 1:
...
import program
...
filename=program.main()
...
Программа 2:
global fname
fname="file_name"
return fname  

Отредактировано ricof (Апрель 27, 2016 19:51:32)

Офлайн

#4 Апрель 28, 2016 05:41:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

Две программы запускаются в двух разных процессах. Они вообще никак не имеют никакой общей области видимости.
То есть вы не можете просто так объявить глобальную переменную, которая была бы глобальной для нескольких программ (процессов). Это не особенность питона, это вообще так работает любое ПО. Есть множество способов, как передать информацию из одного процесса в другой, это называется межпроцессное взаимодействие



Офлайн

#5 Апрель 28, 2016 23:15:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

FishHook
Модули не вызывают и значения в них не передают.
Добавлю что если вам надо чтобы чтото вызывалось, то это называется функцией. В рамках одного процесса между функциями легко передать данные, в том числе через глобальную переменную.



Офлайн

#6 Апрель 29, 2016 00:41:25

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как передавать новое значение переменной из программы в модуль?

да все ж проще - у автора видимо есть модуль 1 в котором он делает импорт модуля 2



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version