Поиск по сайту:

Как запланировать простые сигналы тревоги в Python?


Создание простого будильника — один из основных проектов, который поможет вам понять основы управления временем, выполнения системных команд, воспроизведения аудиофайлов и других важных тем. И в этом уроке мы научимся его создавать.

Для этого мы будем работать с модулем PyGame для воспроизведения аудиофайла и модулем datetime для получения текущего системного времени. Хорошо, тогда давайте начнем!

Начиная

Для воспроизведения аудиофайла мы будем использовать модуль PyGame.

Этот модуль не поставляется в комплекте с Python. Итак, мы будем загружать и устанавливать его с помощью менеджера пакетов pip.

Чтобы установить модуль PyGame, используйте следующую команду «pip»:

pip install pygame

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

from pygame import mixer
mixer.init()

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

Создание будильника

Давайте сначала импортируем все необходимые модули.

import datetime
from pygame import mixer

Далее мы читаем данные о часах, минутах, AM или PM для сигнала тревоги от пользователя.

Hour = int(input("At what hour do you want the alarm? ")) 
Min = int(input("Specify exact minutes ")) 
amPm = str(input("AM or PM? ")) 

Далее, если это ПМ, к указанному часу прибавляем 12, чтобы преобразовать его в военный и стандартный формат.

if (amPm == "pm"): 
	alarmH = alarmH + 12

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

while(True):
	if(Hour == datetime.datetime.now().hour and Min == datetime.datetime.now().minute): 
		mixer.music.load("your_audio_file.mp3")
		mixer.music.play()

Не забудьте инициализировать модуль pygame.mixer перед его использованием –

mixer.init()

И все, вы успешно создали простой будильник на Python.

Полный код

Теперь давайте посмотрим, как выглядит полная программа –

import datetime
from pygame import mixer

mixer.init()

Hour = int(input("At what hour do you want the alarm? "))
Min = int(input("Specify exact minutes "))
amPm = str(input("AM or PM? "))

alarmH = Hour

if (amPm == "pm"):
   alarmH = alarmH + 12

while(True):
   if(alarmH == datetime.datetime.now().hour and Min == datetime.datetime.now().minute):
      mixer.music.load("sample1.mp3")
      mixer.music.play()

Заключение

Теперь вы знаете, как создать простой будильник с помощью Python. Вы можете добавить к нему дополнительные функции, такие как проверка введенных данных, добавление различной музыки во время воспроизведения будильника. Вероятно, можно сделать его более эффективным, запланировав выполнение сценария с помощью crontab, а не запуская цикл while.

Статьи по данной тематике: