Иногда достаточно напряжной задачей бывает парсинг даты или времени. Это часто происходит совсем не в силу сложности задачи, а просто от отсутствия понимания, что здесь никакого велосипеда изобретать не нужно, а просто надо правильно использовать ресурсы стандартной библиотеки питона (), которые предлагают элегантные способы решения данной задачи.
Вашему вниманию предлагается ненапряжный (оттяжный) способ парсинга даты в питоне
datetime.strptime(sys.argv[1], '%H:%M')
С помощью которого можно сделать, например, простой-простой будильник (простой-простой, потому что будет работать в рамках одной даты, например, с 3 ночи до 7 утра, что бывает достаточно для программиста, админа или еще какого-нибудь гика).
#-*- coding: UTF-8 -*-
import time
import os
import sys
from datetime import datetime
def play():
command = "totem ~/bin/alarm.pls >/dev/null 2>/dev/null"
os.popen(command)
def main():
try:
while datetime.now().time() < datetime.strptime(sys.argv[1], '%H:%M').time():
time.sleep(1)
except:
print "Invalid hour:minute value!"
finally:
play()
return
if __name__ == "__main__":
main()