我正在尝试创建一个带有多个闹钟的闹钟,这些闹钟是从每行具有特定时间的文本文件中设置的,但目前它仅在我只设置一次时才有效。我做错了什么?这是我现在的代码:
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')
我的闹钟.txt设置如下 HH:MM:18:4518: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')
当然,这也假设文本文件中的时间按所需的时间顺序排列。