Найти в Дзене
IT Start | Python

Умный таймер с уведомлениями на Python

В этой статье мы напишем скрипт умного таймера, который выводит удобные уведомления на рабочий стол вашего компьютера. Первым делом установим кроссплатформенную библиотеку plyer. Она предоставляет простой API для работы с системными уведомлениями. Для установки можно перейти в командную строку (терминал) и выполнить команду: pip install plyer Первым делом импортируем необходимые библиотеки: from plyer import notification
import time
from datetime import datetime Разберем каждую строку импорта: Теперь напишем главную функцию нашего таймера, которую назовём smart_timer(). У функции будет присутствовать два параметра, а именно: from plyer import notification
import time
from datetime import datetime def smart_timer(minutes, message="Время вышло!"): Внутри функции первым делом будет производиться конвертация минут в секунды, после чего выведется сообщение пользователя и выполнение программы приостановится на указанное пользователем время: from plyer import notification
import time
fr
Оглавление

Введение

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

Установка необходимых библиотек

Первым делом установим кроссплатформенную библиотеку plyer. Она предоставляет простой API для работы с системными уведомлениями.

Для установки можно перейти в командную строку (терминал) и выполнить команду:

pip install plyer

Код простого таймера с уведомлением на Python

Импорт библиотек

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

from plyer import notification
import time
from datetime import datetime

Разберем каждую строку импорта:

  • from plyer import notification — импортируем именно функцию для уведомлений из библиотеки plyer
  • import time — эта библиотека нужна для работы с временными интервалами (паузами)
  • from datetime import datetime — будем использовать для красивого отображения времени в уведомлении

Создание основной функции таймера

Теперь напишем главную функцию нашего таймера, которую назовём smart_timer().

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

  • minutes — обязательный параметр, сколько минут ждать;
  • message — необязательный параметр со значением по умолчанию

from plyer import notification
import time
from datetime import datetime

def smart_timer(minutes, message="Время вышло!"):

Внутри функции первым делом будет производиться конвертация минут в секунды, после чего выведется сообщение пользователя и выполнение программы приостановится на указанное пользователем время:

from plyer import notification
import time
from datetime import datetime

def smart_timer(minutes, message="Время вышло!"):
# Конвертируем минуты в секунды
seconds = minutes * 60
print(f"Таймер запущен на {minutes} минут(ы)")

# Ожидаем заданное количество секунд
time.sleep(seconds)

Далее добавим вывод уведомления:

from plyer import notification
import time
from datetime import datetime

def smart_timer(minutes, message="Время вышло!"):
seconds = minutes * 60
print(f"Таймер запущен на {minutes} минут(ы)")

time.sleep(seconds)

# Формируем заголовок с текущим временем
current_time = datetime.now().strftime('%H:%M')
title = f"Таймер сработал! ({current_time})"

# Выводим уведомление на рабочий стол
notification.notify(
title=title,
message=message,
app_name="Python Smart Timer", # Название приложения
timeout=10 # Уведомление будет висеть 10 секунд
)

Добавляем точку входа

В самом конце добавляем блок, который будет запускать нашу функцию:

from plyer import notification
import time
from datetime import datetime

def smart_timer(minutes, message="Время вышло!"):
seconds = minutes * 60
print(f"Таймер запущен на {minutes} минут(ы)")

time.sleep(seconds)

current_time = datetime.now().strftime('%H:%M')
title = f"Таймер сработал! ({current_time})"

notification.notify(
title=title,
message=message,
app_name="Python Smart Timer",
timeout=10
)

if __name__ == "__main__":
# Запускаем таймер на 1 минуту с кастомным сообщением
smart_timer(1, "Пора размяться! Прошла уже целая минута!")
print("Таймер завершил работу")

Возможные доработки и улучшения

После того как базовый таймер работает, можно добавить дополнительные функции:

  1. Обработка ошибок — добавить try/except блоки
  2. Аргументы командной строки — использовать библиотеку argparse для гибкости
  3. Звуковые сигналы — добавить воспроизведение звука вместе с уведомлением
  4. Графический интерфейс — создать окно с кнопками используя tkinter

Заключение

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

Мой Telegram канал по Python

Мой YouTube канал

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

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

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