¿Cómo cambiar un texto en Python?

Iniciado por deletethisaccount, Marzo 20, 2017, 03:55:04 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 20, 2017, 03:55:04 PM Ultima modificación: Marzo 20, 2017, 06:38:15 PM por Stiuvert
Hola,tenia esta duda y no sabria como hacerlo,sale en un episodio de mr robot,y es como puedo cambiar un texto sin tener que volverlo a printear,
que si tengo
Código: php
            1 de 10000


que lo pueda cambiar a:
Código: php
            2 de 10000



Sin tener que volver a printearlo.

Buenas tardes BadB0y_4,
No entiendo demasiado bien tu pregunta, pero mira si algo de esto te sirve

Código: php

import os

for number in range(0,1000):
    print "%s de 1000" % number
    raw_input("Pulsa ENTER para continuar...")
    os.system("clear")



Un saludo! ;)
Vive solo por lo que estas dispuesto a morir

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buenas tardes BadB0y_4,
No entiendo demasiado bien tu pregunta, pero mira si algo de esto te sirve

Código: php

import os

for number in range(0,1000):
    print "%s de 1000" % number
    raw_input("Pulsa ENTER para continuar...")
    os.system("clear")



Un saludo! ;)

Esta opción la verdad puede ser un poco inutil en algunas veces, cómo por ejemplo si quiere tener una pantalla sin borrar cada vez que cambia una línea, porque sería tedioso hacer un clear siempre que quiera actualizar, lo que tu quieres hacer, lo puedes buscar dependiendo de tu versión de python, con el nombre de print flush en google, por lo general con un '\r' en el print, sobreescribe la misma linea, busca sobre el tema y tu versión de python
Si quieres hablar conmigo, puedes hacerlo por el IRC de underc0de, o por Telegram: @Eschiclers
Sólo la araña está a salvo en su tela.

Buenas Eschiclers,
¿Te refieres a que el buffer de la consola consumiria demasiado?
Vive solo por lo que estas dispuesto a morir

prueba con esto

Código: php

for i in range(0,1000):
    x=0
    print x+i, "de 1000"

Yo lo hago de esta manera.

Código: python
import sys
import time

for i in range(0,1000):
time.sleep(1)#Espera un segundo para hacer la imprimir en la terminar para poder ver lo que se imprime.
sys.stdout.write("\r%d de 1000" % (i))#Aquí la "magia"
sys.stdout.flush()#Limpia el buffer

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Yo lo hago de esta manera.

Código: python
import sys
import time

for i in range(0,1000):
time.sleep(1)#Espera un segundo para hacer la imprimir en la terminar para poder ver lo que se imprime.
sys.stdout.write("\r%d de 1000" % (i))#Aquí la "magia"
sys.stdout.flush()#Limpia el buffer


Esta es la forma más adecuada de hacerlo, con los flush.
Si quieres hablar conmigo, puedes hacerlo por el IRC de underc0de, o por Telegram: @Eschiclers
Sólo la araña está a salvo en su tela.