2011-08-12 15 views
8

Tengo un script de Python que tarda mucho tiempo en ejecutarse. Me gustaría tener la salida de línea de comando para tener una pequeña animación de 'espera', muy similar al círculo swirly que obtenemos en los navegadores para las solicitudes de AJAX. Algo así como una salida de '\', luego esto se reemplaza por '|', luego '/', luego '-', '|', etc., como si el texto estuviera dando vueltas en círculos. No estoy seguro de cómo reemplazar el texto impreso anterior en Python.'Esperando' animación en el símbolo del sistema (Python)

Respuesta

15

Uso \r e impresión sin-salto de línea (es decir, el sufijo con una coma):

animation = "|/-\\" 
idx = 0 
while thing_not_complete(): 
    print animation[idx % len(animation)] + "\r", 
    idx += 1 
    time.sleep(0.1) 
+0

Se estrella para mí. –

+0

Funciona muy bien conmigo (al cambiar 'thing_not_complete()' a 'True'), ¡excelente animación! – Sarah

+1

[Aquí] (http://code.activestate.com/recipes/534142-spin-cursor/) es algo precocido. –

-1

El paquete integrado curses de Python contiene utilidades para controlar lo que se imprime en una pantalla de terminal.

-1

Tal vez usted recibirá la ayuda de este

import time 
import os 
def getdot(val): 
    a=["",".","..","..."] 
    return a[val] 
while True: 
    l=0 
    while l<4: 
     os.system("title Loding %s"%(getdot(l))) 
     os.system("cls") 
     print "\n\n\n\n\t\t\t\tLOADING %s"%(getdot(l)) 
     l+=1 
     time.sleep(1) 
Cuestiones relacionadas