У меня есть код, где функция uniqe_dead_list возвращает определенное значение каждые 10 секунд. Так же эта функция записывает значение в отдельный файл, и получается что при последующем вызове функции ( через 10 секунд), она ничего не добавит, если предыдущие функции не изменят свои значения. Но это не особо важно, смысл моего вопроса в том, можно ли сделать так, чтобы функция вызывалась всего 1 раз (каждые 10 секунд, которые я уже указал в коде), и чтобы дальше функция catcher(), работала только с ее значением, постоянно ее не вызывая (тк при втором вызове функции она возаращает уже совсем не те значения, которые мне нужны). Изначально я попробовал создать переменную, но ее минус в том, что переменная не обновляет свои значения, а мне функция обновляет каждые 10 секунд.
def uniqe_dead_list():
result = list(set(union_deads_func()) - set(dead_last_func()))
if len(result) != 0:
my_list = '\n'.join(result)
deads_last_w = open('logs.txt', 'a', encoding='utf-8')
deads_last_w.write(f'{my_list}\n')
deads_last_w.close()
print('Добавлено')
print(len(result), '\n'.join(result))
x = '\n'.join(result)
return x
def catcher():
uniqe_dead_list()
dead_list = (str(uniqe_dead_list()).split('\n'))
logs_check = open('players_data.txt', 'r', encoding='utf-8')
checking = logs_check.read()
logs_check.close()
dead_users = (checking.split(', ')[:-1])
users_data = []
for i in dead_users:
for e in dead_list:
if i in e:
users_data.append(e)
print(users_data)
return (users_data)