Задать вопрос
@Mikhail5482

Как фиксировать изменение значения переменной в Python?

thtol = 5
Как мне зафиксировать изменение переменной?
Переменная может изменится на любое значение.
Допустим переменная меняется и сразу же выполняется print('Переменная поменяла свое значение')
  • Вопрос задан
  • 1675 просмотров
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Не так, переменная меняется не присвоением ей значения, а за счет парсинга с сайта

Вот что я люблю в вопросах от нубов - никогда не знаешь, про что вопрос на самом деле.
Твой вопрос звучит так, словно тебя интересует любое присвоение значения переменной, даже если новое значение равно старому. И советы тебе дают в этом направлении. А тебе ведь нужно обнаружить изменение значения, так? Если так, читай дальше.

Тебе нужно сохранять предыдущее значение переменной. Если программа работает постоянно - можно сохранить в другой переменной. Если нужно, чтобы сведения пережили перезапуск - сохраняй в файл или ещё куда.
Так или иначе, по завершению парсинга, когда у тебя есть новое значение, ты сравниваешь его со старым. И если они не равны, реагируешь на это. Ну и сразу переносишь новое значение в переменную для старого, чтобы при следующем сравнении уже сравнивать с более новым. Что-то типа:
old_value = None
while True:
    new_value = parse_site()  # parse_site() - написанная тобой функция, которая возвращает искомое значение
    if old_value is not None and new_value != old_value:  # если это не первый раз, и значение изменилось
        print('Значение изменилось!')
    old_value = new_value  # чтобы в следующий раз сравнивать с последним увиденным значением
    time.sleep(600)  # спим 10 минут, чтобы не долбить сайт запросами


Ну и да, неважно откуда ты берёшь значение. Ты всё равно присваиваешь его переменной. Всё равно.
Если ты этого не понимаешь - отложи свой парсер, и почитай хороший учебник по Питону, того же Марка Лутца, "Изучаем Питон".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 14:08
2000 руб./за проект
19 янв. 2025, в 13:33
700000 руб./за проект
19 янв. 2025, в 13:04
400000 руб./за проект