создание подпрограммы в python

#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 был посторонним, спасибо за помощь и спасибо за совет со сном, это, безусловно, лучше