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 se borra la ventana de la consola en todos los tipos de plataformas?

Quiero saber cómo limpiar la ventana de la consola que funcione en TODAS las plataformas (Windows, Mac, todas las distribuciones de Linux/Unix) y no utilice el método os.system() o el método subprocess.Popen() (ni ningún otro método de llamada al sistema).

Además, por favor no me hagas usar algo como print("\n" * 2000, end="", flush=True) o

python
for entero in range(1, 2001):
print("\n", end="", flush=True)

[Linux/Unix(Debian/Ubuntu), Python 3.8.10]

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una forma de limpiar la ventana de la consola en todas las plataformas sin utilizar métodos de llamada al sistema como os.system() o subprocess.Popen() es utilizando el código de escape ANSI \033c. Este código limpia la consola y mueve el cursor a la esquina superior izquierda de la ventana de la consola.

    En Python, puedes imprimir este código de escape para limpiar la ventana de la consola de la siguiente manera:

    import sys
    
    if sys.platform.startswith('win'):
        # Para Windows
        import ctypes
        kernel32 = ctypes.windll.kernel32
        kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
        print('\033c', end='')
    else:
        # Para Linux/Unix/Mac
        print('\033c', end='')
    

    Este código debería funcionar en plataformas Windows, Linux, Unix y Mac. El código primero verifica si la plataforma es Windows y, si lo es, utiliza la API de Windows para establecer el modo de consola para habilitar los códigos de escape ANSI. Luego imprime el código de escape \033c para limpiar la ventana de la consola. Si la plataforma no es Windows, simplemente imprime el código de escape en la consola.

Comments are closed.