import datetime as DT import time while True: now = DT.datetime.now() target = DT.datetime.combine(DT.date.today(), DT.time(hour=8)) if target < now: target += DT.timedelta(days=1) time.sleep((target-now).total_seconds()) # do something