Добавить в корзинуПозвонить
Найти в Дзене
IT Start | Python

Создаем программу-напоминалку на Python

В этой статье создадим простую консольную напоминалку на Python с возможностью задавать время напоминания и получать уведомления от Windows. Перед написанием кода нам понадобится установить библиотеку schedule для планирования напоминаний и plyer для отображения системных уведомлений Windows. Сделать это можно через pip. Для этого нужно перейти в терминал/командную строку, прописать pip install schedule plyer, нажать Enter и ждать установки. pip install schedule plyer После инсталляции импортируем все необходимые библиотеки: import schedule
import time
from plyer import notification Первым делом создадим функцию show_notification(), которая будет вызывать системное уведомление. У функции будет присутствовать один параметр, а именно: import schedule
import time
from plyer import notification def show_notification(message): Внутри функции через объект notification обратимся к методу notify(), чтобы создать уведомление с заголовком «Напоминание», переданным пользователем текстом и дли
Оглавление

Введение

В этой статье создадим простую консольную напоминалку на Python с возможностью задавать время напоминания и получать уведомления от Windows.

Установка и импорт библиотек

Перед написанием кода нам понадобится установить библиотеку schedule для планирования напоминаний и plyer для отображения системных уведомлений Windows. Сделать это можно через pip. Для этого нужно перейти в терминал/командную строку, прописать pip install schedule plyer, нажать Enter и ждать установки.

pip install schedule plyer

После инсталляции импортируем все необходимые библиотеки:

import schedule
import time
from plyer import notification

  • schedule — для планирования напоминаний;
  • time — для работы с задержками;
  • plyer — для отображения системных уведомлений.

Написание кода программы-напоминалки на Python

Первым делом создадим функцию show_notification(), которая будет вызывать системное уведомление.

У функции будет присутствовать один параметр, а именно:

  • message — текст оповещения, переданный пользователем.

import schedule
import time
from plyer import notification

def show_notification(message):

Внутри функции через объект notification обратимся к методу notify(), чтобы создать уведомление с заголовком «Напоминание», переданным пользователем текстом и длительностью равной 10 секунд:

import schedule
import time
from plyer import notification

def show_notification(message):
notification.notify(
title="Напоминание",
message=message,
timeout=10
)

Теперь создадим функцию add_reminder(), которая будет создавать напоминания.

У функции будет присутствовать два параметра, а именно:

  • text — текст напоминания;
  • reminder_time — время, в которое должно сработать напоминание.

import schedule
import time
from plyer import notification

def show_notification(message):
notification.notify(
title="Напоминание",
message=message,
timeout=10
)

def add_reminder(text, reminder_time):

Внутри функции будет добавляться задача в планировщик, чтобы каждый день в указанное время reminder_time вызывалась функция show_notification() с переданным текстом:

import schedule
import time
from plyer import notification

def show_notification(message):
notification.notify(
title="Напоминание",
message=message,
timeout=10
)

def add_reminder(text, reminder_time):
schedule.every().day.at(reminder_time).do(show_notification, message=text)
print(f"Напоминание добавлено на {reminder_time}: {text}")

Теперь добавим точку входа, внутри которой будет находиться бесконечный цикл:

import schedule
import time
from plyer import notification

def show_notification(message):
notification.notify(
title="Напоминание",
message=message,
timeout=10
)

def add_reminder(text, reminder_time):
schedule.every().day.at(reminder_time).do(show_notification, message=text)
print(f"Напоминание добавлено на {reminder_time}: {text}")

if __name__ == "__main__":
while True:

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

import schedule
import time
from plyer import notification


def show_notification(message):
notification.notify(
title="Напоминание",
message=message,
timeout=10
)


def add_reminder(text, reminder_time):
schedule.every().day.at(reminder_time).do(show_notification, message=text)
print(f"Напоминание добавлено на {reminder_time}: {text}")


if __name__ == "__main__":
while True:
text = input("Введите текст напоминания: ")
reminder_time = input("Введите время (формат ЧЧ:ММ): ")
add_reminder(text, reminder_time)
print("Ожидание напоминания...")

while True:
schedule.run_pending()
time.sleep(1)

Заключение

В ходе статьи мы с Вами написали код программы-напоминалки на Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию GUI на Python