Espere la animación “…” para aparecer una y otra vez

Estoy tratando de mostrar una especie de animación de carga, específicamente tres puntos que aparecen una y otra vez. Pensé que lo de abajo funcionaría:

import time, sys for i in range(9): time.sleep(0.2) x = i % 4 sys.stdout.write("." * x) sys.stdout.flush() 

Sin embargo, todo lo que hace es solo cargar gradualmente (y no uniformemente) esto: "........."

Utilice el carácter de retorno. Esto se debe a que su cursor debe volver a la posición original después de que haya transcurrido el tiempo

 import time, sys for i in range(15): sys.stdout.write(" ") x = i % 4 sys.stdout.write('\r' + "." * x ) time.sleep(0.5) sys.stdout.flush()