У меня есть два сценария. В одном происходит много всего, и есть одна переменная, которая меня интересует: называется удовлетворением. В другой программе я выполняю первую несколько раз и каждый раз должен проверять, изменилось ли значение удовлетворения. Но он всегда приносит одно и то же значение для удовлетворения, даже если оно изменилось. Вот код второго скрипта:
for i in range(10):
subprocess.call('python main.py', shell=True)
from main import satisfaction
print('SATISFACTION:',satisfaction)
в первом раунде он импортирует значение, но затем не меняет его ..
Первый раунд:
Output 1. script: satisfaction: 0.6499999999999999
Output 2. script: SATISFACTION: 0.6499999999999999
Второй раунд:
Output 1. script: satisfaction: 0.625
Output 2. script: SATISFACTION: 0.6499999999999999
Третий раунд:
Output 1. script: satisfaction: 0.75
Output 2. script: SATISFACTION: 0.6499999999999999
И так далее...
Я был бы очень благодарен, если бы мне кто-нибудь помог, Только мы
Кстати, что делает main.py? Как меняется значение при каждом выполнении? Сохраняет ли он свое состояние в файле между выполнениями?






Я бы попробовал принудительно перезагрузить модуль
import importlib
from main import satisfaction
for i in range(10):
subprocess.call('python main.py', shell=True)
importlib.reload('satisfaction')
print('SATISFACTION:',satisfaction)
Почему вы вызываете сценарий в подпроцессе? Просто импортируйте его один раз и несколько раз вызывайте его основную функцию (или что-то в этом роде).