Как передать переменную из одного сценария python в другой? - PullRequest
3 голосов
/ 16 июня 2020

У меня два python скрипта. Я назову их first.py и second.py. Я знаю, что на этот вопрос много раз ответили, но они не работают для моего контекста.

First.py - сообщение передается в функцию с именем run

def run(message):
    split=message.split()
    word = split[0]
    _t = Thread(name="{}_Thread".format(word),target=_threader_,args=(word))
    _t.daemon = True
    _t.start()

def _threader_(word):
    while True: 
        if (_data from second.py == word):
            ##do stuff

        sleep(1)

Second.py

class First():
    def __init__(self,
                 _active=True,
                 _returnvalue=None):
        self._active = _active
        self._returnvalue = _returnvalue
        self._delay = 1
        self._t = Thread(target=self.Poll_data)
        self._t.daemon = True
        self._t.start()

    def Poll_data(self):
        while self._active:
            #_data is being assigned new variables in here
            _data = ...
            print(_data)
            sleep(self._delay)

First.py импортирует second.py, поэтому, когда я импортирую first.py из second.py, он выдает ошибки.

Раньше у меня был _data в init of second.py, но каждый раз, когда я обращался к нему из first.py, он возвращал None (self._data = None in init)

Как мне отправить переменную _data из second.py в первый .py нитеватель. Я пробовал рассол, но он слишком медленный, так как при сохранении файла есть задержка, и иногда я просто получаю ошибки EOF.

Спасибо

...