Python - 具有多个警报的闹钟

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - 具有多个警报的闹钟相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个具有多个警报的闹钟,这些警报是从每行特定时间的文本文件设置的,但此刻它只在我设置一次时才起作用。我究竟做错了什么?这是我现在的代码:

import time
from playsound import playsound

Time = time.strftime('%H:%M')

with open('alarms.txt') as f:
    alarms = f.readlines()
    for alarm in alarms:
        while Time != alarm:
            print('The time is: ' + Time)
            Time = time.strftime('%H:%M')
            time.sleep(1)
            continue
        if Time == alarm:
            playsound('alarm.mp3')

而我的alarms.txt设置如HH:MM:18:45 18:55

答案

根据目前给出的信息,我的想法是这样的:

请记住,readlines()读入行并返回字符串,其中换行符仍在尾随。您需要将行的时间与删除的换行符进行比较。

import time
from playsound import playsound

Time = time.strftime('%H:%M')

with open('alarms.txt') as f:
    alarms = f.readlines()
    for alarm in alarms:
        alarm = alarm.rstrip('\n')
        while Time != alarm:
            print('The time is: ' + Time + '\n')
            Time = time.strftime('%H:%M')
            time.sleep(1)
            continue
        if Time == alarm:
            playsound('alarm.mp3')

当然,这也假定文本文件中的时间是按期望的时间顺序。

以上是关于Python - 具有多个警报的闹钟的主要内容,如果未能解决你的问题,请参考以下文章

警报管理器不适用于Android中的多个警报

使用 sqlite 数据库设置多个警报,但只剩下一个警报

如何设置多个AlarmManager?

Android:多个警报不起作用

iOS 闹钟

如何避免超过闹钟时间触发闹钟?