Google+ Seguidores

viernes, 14 de junio de 2013

Limpiar pantalla en python con os.system()

    6

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

6 comentarios:
Write comentarios
  1. 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

    ResponderEliminar
    Respuestas
    1. 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

      Eliminar
  2. 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

    ResponderEliminar
    Respuestas
    1. 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.

      Eliminar
    2. 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

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

    ResponderEliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.