Following example comes from Activestate (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/510387) and represents an alarm clock on Windows:
try: import os import sys import time import msvcrt import winsound except ImportError, error: sys.stdout.write('ImportError: %s' % error) sys.exit(1) def main(): try: arg = time.strptime(sys.argv[1], '%H:%M') arg_sec = (arg.tm_hour * 60 + arg.tm_min) * 60 now = time.localtime() now_sec = (now.tm_hour * 60 + now.tm_min) * 60 + now.tm_sec alarm(arg_sec - now_sec + (86400 if arg_sec <= now_sec else 0)) except: sys.stdout.write(os.path.basename(sys.argv[0])) sys.stdout.write(' HH:MM') def alarm(seconds): time.sleep(seconds) while msvcrt.kbhit(): msvcrt.getch() while not msvcrt.kbhit(): winsound.Beep(440, 250) time.sleep(0.25) if __name__ == '__main__': main()