Ejecutar fragmento de código a una hora/fecha determinada en un script en ejecución
¿Cómo ejecutar un fragmento de código `funcion` cada día a una hora `hora` con un delay `delay` determinada en un script en ejecución?

class Temporizador(Thread):
    def __init__(self, hora, funcion):
        super(Temporizador, self).__init__()
        self._estado = True
        self.hora = hora
        self.delay = delay
        self.funcion = funcion

    def stop(self):
        self._estado = False

    def run(self):
        aux = datetime.strptime(self.hora, '%H:%M:%S')
        hora = datetime.now()
        hora = hora.replace(hour = aux.hour, minute=aux.minute, second=aux.second, microsecond = 0)
        if hora <= datetime.now():
            hora += timedelta(days=1)

        while self._estado:
            if hora <= datetime.now():
                self.funcion()
                hora += timedelta(days=1)
            sleep(self.delay)