¿Cómo tener sincronización de bucle con el temporizador UTC y ejecutar cada nuevo minuto?

Quiero que se ejecute un bucle una vez por minuto cuandodatetime.utcnow().second es cero Hasta ahora tengo esto

while True:
    while datetime.utcnow().second != 0: pass
    do_something()

Pero el problema con esto es que estoy desperdiciando procesos de la CPU. yo usaríatime.sleep(60), pero no sé cómo se sincronizaría con el reloj UTC, porquetime.sleep(60) Podría desviarse de la hora UTC oficial a medida que pasa el tiempo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta