¿Cómo puedo editar una cadena que acabo de imprimir? Por ejemplo, para un contador de cuenta regresiva (Imprime primero 30, luego lo cambia a 29 y así sucesivamente)¿Cómo puedo editar una cadena que se imprimió en stdout?
Gracias.
¿Cómo puedo editar una cadena que acabo de imprimir? Por ejemplo, para un contador de cuenta regresiva (Imprime primero 30, luego lo cambia a 29 y así sucesivamente)¿Cómo puedo editar una cadena que se imprimió en stdout?
Gracias.
Imprima un retorno de carro \r
y llevará el cursor al principio de la línea. Asegúrese de no imprimir una nueva línea \n
al final, ya que no puede retroceder líneas. Esto significa que tiene que hacer algo como:
import time
import sys
sys.stdout.write('29 seconds remaining')
time.sleep(1)
sys.stdout.write('\r28 seconds remaining')
(en lugar de utilizar print
, que qué añadir un salto de línea al final de lo que se escribe a stdout
.)
En Python 3 puede usar el parámetro final para asegurar que no se agregue nueva línea al final: 'print (x, end =" ")' – Joschua
Antes de Python 3 puede dejar un ',' después de una declaración 'print' para asegurar no se agrega una nueva línea al final: 'print x,' –
Copié ese código directamente y se imprime en una nueva línea en Python 2.7 – User
Si eres en un dispositivo de salida de tipo xterm, la forma en que lo hace es SOBRESCRIBIENDO la salida. Debe asegurarse de que cuando escribe el número finaliza con un retorno de carro (sin línea nueva), que mueve el cursor al principio de la línea sin avanzar a la siguiente línea. El siguiente resultado que escriba reemplazará el número mostrado actualmente.
No puede cambiar lo que imprimió. Lo que está impreso está impreso. Pero, al igual que bradley.ayers, dijo que puede volver al principio de la línea e imprimir algo nuevo sobre el valor anterior.
Si se dirige a Unix/Linux, entonces "maldiciones" hace que escribir programas de consola sea realmente sencillo. Se ocupa de color, etc. posicionamiento del cursor Confirmar la envoltura pitón: http://docs.python.org/library/curses.html
Usted puede utilizar el módulo readline, que también puede proporcionar customized completion y command history.
Esto es solo una variante del [problema del cursor giratorio] (http://stackoverflow.com/questions/4995733/how-to-create-a-spinning-command-line-cursor-using-python). –