Limpiar pantalla en python con os.system()

os.system()
Limpiar pantalla en python con os.system()

Hoy vamos aprender a limpiar la pantalla en python con el modulo os.system, valido para cualquier sistema operativo: Windows, Unix, linux, DOS, MacOS, etc.

Muchas veces nos pasa que estamos haciendo un programa y la consola se llena de información, cosa que resulta molesta para el usuario final o para nosotros mismos.  Limpiar la pantalla nos resulta muy practico si los resultados van a ser mostrados por consola.

Lo primero que tenemos que hacer, ya sea que estemos trabajando en el shell de python o en un entorno de desarrollo, es importar el modulo os.


Ejemplo en el shell de python:

»»» import os #Importamos el modulo os (En este caso solo utilizaremos system)

Lo mismo hacemos en la cabecera de nuestro programa en un entorno de desarrollo.

Si sabemos que nuestro programa solo va a trabajar en entornos Unix/Linux/MacOS/BSD/etc, la forma de implementar el modulo os es:

#Unix/Linux/MacOS/BSD
os.system ("clear") #Esta linea de código hará que nuestra pantalla se limpie

De lo contrario, si sabemos que nuestro programa solo va a funcionar con el sistema operativo Windows/DOS, hacemos lo siguiente:

#DOS/Windows
os.system ("cls") #Esta linea de código hará que nuestra pantalla se limpie

Y como hacemos si no sabemos en que sistema operativo va a correr nuestro programa?

 

Vamos a crear una función que se va a fijar en que sistema operativo esta corriendo y dependiendo de esto, como va a funcionar. 


Primer ejemplo (para mi el mas practico):


import os


def clear(): #También la podemos llamar cls (depende a lo que estemos acostumbrados)
    if os.name == "posix":
        os.system ("clear")
    elif os.name == ("ce", "nt", "dos"):
        os.system ("cls")


clear()


Esto nos resulta muy practico porque cuando necesitemos limpiar la pantalla solo tendremos que llamar a la función clear() o cls() (dependiendo del nombre que le demos a la función) y olvidarnos del resto del código.
Lo que hace os.name es fijarse en que sistema operativo estamos trabajando. Para probarlo podemos utilizar el shell de python. Importamos el modulo os y luego escribimos os.name (como resultado obtendremos, dependiendo del sistema operativo: "posix" o "ce" o "nt" o "dos", etc)


»»» import os
»»» os.name
"posix" #Yo utilizo linux....


Segundo ejemplo:


También podemos hacer una llamada al sistema que retorne el valor a una variable:


»»» cls = lambda: os.system ("cls") #En caso de que sea Windows
»»» cls() #Limpia la pantalla


»»» clear = lambda: os.system ("clear") #Unix/Linux/MacOS/BSD/etc
»»» clear() #Limpia la pantalla


Despues de conocer estos tips, podemos ingeniarnos alguna otra función o método que nos resulte mas practico, todo es cuestión de probar.

Cualquier duda o sugerencia los invito a comentar. Saludos

  1. Unknown dice:

    una consulta, estoy trabajando Portable Python 3.2.5.1 y no puedo limpiar la pantalla, por favor no se a que se debe, gracias por su respuesta

    1. PythonDiario dice:

      La mayoría de mis pruebas las realizo con python 2.7. Tendrías que investigar un poco si varía con python 3.xxx. Saludos

  2. SITO dice:

    Otra pregunta Diego o para quien lo sepa, aparte de los dos codigos tipicos, uno para que el S.O Linux lo reconozca y el otro para poder poner letras y signos especiales como la letra "ñ", etc, ¿hay otra linea de codigo para que reconozca y ejecute un programa en windows, construido con Geany en S.O Ubuntu?. Gracias de antemano, espero respuesta

    1. PythonDiario dice:

      Si tenes python instalado en un sistema Windows no vas a tener problema para que reconozca archivos .py (de python). Se que existe una aplicación para convertir los archivos .py en .exe y así ejecutarlos en Windows, pero nunca la he usado. Saludos

      P.D: no te recomiendo que utilices python portable. Lo mejor sería que este todo bien instalado en el sistema.

    2. Paul M. Panez Caballero dice:

      Para nada, basta con colocar en variables del sistema el path donde se encuentra python.exe asi como la carpeta scripts de tu python portable nada mas

  3. Unknown dice:

    yo uso qpython 3 en android, no puedo limpiar la consola

  4. gabedu2000@gmail.com dice:

    Gracias!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Te has suscrito correctamente al boletín

Se produjo un error al intentar enviar tu solicitud. Inténtalo de nuevo.

Mi Diario Python will use the information you provide on this form to be in touch with you and to provide updates and marketing.