#python #scheduled-tasks
#python #запланированные задачи
Вопрос:
Итак, мне нужно, чтобы моя программа выполняла задачу каждый определенный час определенного дня, я искал модуль, который мог бы легко это сделать, и он существует, запланированный, к сожалению, у нас его нет на компьютере моей компании, и мне не разрешено ничего устанавливать, поэтому я кое-что придумалкак это в качестве решения
import datetime
now = datetime.datetime.now()
while True:
if now.strftime("%d") == '09':
if now.strftime("%H") == '18':
do something
но это работает не совсем так, как ожидалось, если я запускаю программу в запланированное время, она работает нормально, но если это не так, она ничего не делает, когда приходит время
что я могу сделать?
Комментарии:
1.Вы никогда не меняетесь
now
… Ваше изменение цикла выполняется и выполняется с тем же значением, поэтому все условия будут одинаковыми. Вам нужно изменить значениеnow
внутри цикла
Ответ №1:
Вы определили now
вне цикла в начале программы. После запуска она никогда не меняется. Установите now
внутри цикла и рассмотрите возможность использования sleep
, чтобы эта программа не тратила ресурсы так много.
Комментарии:
1. ну, глупый я, я не заметил, что now был посторонним, спасибо за помощь и спасибо за совет со сном, это, безусловно, лучше