@Prompt_coder

Как вызвать функцию всего один раз, но так же постоянно ее обновлять?

У меня есть код, где функция 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)
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы