Как запланировать простые сигналы тревоги в 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.