es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo borrar una única línea de texto en una consola

Estoy tratando de borrar una línea en una consola de esta manera:

¿Confirmar? sí

<p>Realizando pedido...
<code>
Entonces:
</code>
¿Confirmar? sí</p>

<p>¡El pedido está en la ubicación que has proporcionado!
<code>
No quiero que sea:
</code>
¿Confirmar? sí</p>

<p>Realizando pedido...
El pedido está en la ubicación que has proporcionado!

Esto es similar a cuando instalas un módulo con pip, la barra de progreso se mantiene en la misma línea y no pasa a otra línea.

Estoy usando Python 3.10

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para borrar una línea en una consola usando Python 3.10, puedes usar el siguiente código:

    import sys
    
    def clear_line():
        sys.stdout.write('\033[F') # Mueve el cursor hacia arriba una línea
        sys.stdout.write('\033[K') # Borra la línea
    

    La función sys.stdout.write se utiliza para escribir los códigos de escape ANSI en la consola, que se utilizan para mover el cursor hacia arriba una línea y borrar la línea. La secuencia de escape '\033[F' mueve el cursor hacia arriba una línea, y '\033[K' borra la línea.

    Para usar esta función en tu código, puedes llamarla antes de imprimir el nuevo mensaje. Por ejemplo:

    print("¿Confirmar? sí")
    clear_line()
    print("¡El pedido está en la ubicación que has proporcionado!")
    

    Esto borrará el mensaje anterior antes de imprimir el nuevo, de modo que la salida aparecerá así:

    ¿Confirmar? sí
    ¡El pedido está en la ubicación que has proporcionado!
    

    Usar este método te permitirá actualizar la salida de la consola sin crear una nueva línea para cada mensaje.

Comments are closed.