Как сделать обновление скрипта Python в режиме реального времени (работать непрерывно) - PullRequest
0 голосов
/ 04 октября 2019

Здравствуйте, я новичок в Python, и я только что изучил основы и основы программирования на Python. Я хотел сделать эту программу, которая будет уведомлять меня, когда мой класс заканчивается, однако, когда я запускаю свою программу, она выполняет ее только один раз

Когда я зацикливаю ее, она не получает постоянного доступа к моей дате и времени (вместо этого оназанимает время с момента выполнения кода). Любое предложение о том, как решить эту проблему?

import win10toast

import datetime

currentDT = datetime.datetime.now()

toaster = win10toast.ToastNotifier()

while (1):
    def Period_A():
        if currentDT.hour == 7 and currentDT.minute == 30:
            toaster.show_toast('Shedule Reminder', 'It is Period A time!', duration=10)

Я хотел, чтобы код выполнялся в фоновом режиме и постоянно обновлял значение даты и времени, чтобы уведомление появлялось в желаемое время, а не во время выполнения кода;).

1 Ответ

0 голосов
/ 04 октября 2019

Строка currentDT = datetime.datetime.now() вызывается только один раз во всей программе и поэтому остается постоянной примерно до времени, когда вы запустили скрипт.

Поскольку вы хотите постоянно проверять время, чтобы сравнить его св установленное время вам придется переместить эту строку внутрь цикла.

Во-вторых, вы определяете функцию Period_A в цикле, которая сама по себе ничего не делает, потому что вы не вызываете функцию. Если вам не нужна абстракция, которую дает вам функция, нет смысла создавать ее, чтобы вызвать ее один раз.

import datetime
import win10toast

toaster = win10toast.ToastNotifier()

while 1:
    currentDT = datetime.datetime.now()

    if currentDT.hour == 7 and currentDT.minute == 30:
        toaster.show_toast('Shedule Reminder', 'It is Period A time!', duration=10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...