Blog
Usualmente para probar un programa lo ejecutamos en la consola; sin embargo, esta tarea se vuelve tediosa cuando la información generada llena la pantalla, bien sea por la cantidad de datos que solicita o porque la ejecutamos varias veces.
Ahora bien, para evitar dicha incomodidad podemos agregar una línea de código que permita borrar la pantalla. Veamos.
Limpiar la consola con el Modulo os.system()
La librería estándar de Python posee diversos módulos que nos facilitan muchas tareas.
Por ejemplo, el módulo “os” hace posible el manejo de funciones dependientes del Sistema Operativo. Básicamente lo que hace es buscar un módulo interno en función al SO del ordenador y luego exporta la misma funcionalidad para así ejecutar las acciones necesarias dentro del programa.
El primer paso antes de comenzar a usarlo es importarlo, para ello escribimos en la cabecera del programa:
import os
De este modo, Python puede disponer de todas sus características. En este caso, lo usaremos para borrar la pantalla de la consola pues el comando que precisamos difiere entre Windows y el resto de sistemas.
Comandos para borrar pantalla en python
La línea de código que utilizaremos es:
#Para Unix/Linux/MacOS/BSD os.system ("clear") #Para DOS/Windows os.system ("cls")
Evidentemente, si lo que queremos es borrar la pantalla después de probar un código, no necesitamos más que aplicar al final del programa la sentencia que más nos convenga dependiendo de nuestro ordenador.
No obstante, si nuestro objetivo es añadir la acción como parte integral del programa, este debería primero identificar en que sistema operativo está corriendo. Para ello, crearemos la siguiente función:
def borrarPantalla(): #Definimos la función estableciendo el nombre que queramos if os.name == "posix": os.system ("clear") elif os.name == "ce" or os.name == "nt" or os.name == "dos": os.system ("cls")
Posteriormente, para ejecutar la función solo debemos invocarla.
borrarPantalla()
Entendiendo la función de os.name
La sentencia os.name es la que nos indica el sistema operativo en que se está trabajando. De hecho, si guardamos el valor dentro de una variable y lo corremos en el IDE, en el explorador de variables se mostrará el sistema operativo que tiene nuestro ordenador.
import os var = os.name
También podemos hacer un print que lo muestre en la consola.
import os var = os.name print ("El sistema operativo de mi ordenador es: "+var)
Por otro lado, es importante conocer los nombres que están registrados en este módulo, a saber:
‘posix’ – UNIX
‘mac’ – Apple
‘java’ – Máquina virtual de Java
‘nt’, ‘dos’, ce – Sistemas operativos desarrollados por Microsoft
Instrucción borrar pantalla con la función lambda
Lambda consiste en una función anónima de una única expresión que tiene la capacidad de tomar cualquier cantidad de argumentos
Para hacer que esta función nos ayude a borrar la pantalla escribimos lo siguiente:
borrarPantalla = lambda: os.system ("cls") borrarPantalla() #Limpia la pantalla
Esto en caso de que sea Windows, de lo contrario usamos clear.
Incluso podemos escribir estas sentencias dentro de la función que identifica el tipo de sistema operativo.
Utilidad de la acción limpiar pantalla y hacer un mensaje dinámico como ejemplo
Tal como ya hemos mencionado esta acción puede ser necesaria dentro del programa como parte integral de este.
Por ejemplo, cuando queremos mostrar un mensaje dinámico o simular movimiento.
Para entender a que nos referimos, veamos los siguientes ejemplos:
# Mensaje dinámico import os import time if os.name == "posix": var = "clear" elif os.name == "ce" or os.name == "nt" or os.name == "dos": var = "cls" time.sleep(2) os.system(var) print("****************************************") print("* *") print("* ¡Bienvenidos a AprenderPython.net! *") print("* *") print("****************************************") time.sleep(2) os.system(var) print("****************************************") print("* *") print("*Aquí aprenderas a programar con Python*") print("* *") print("****************************************") time.sleep(2) os.system(var) print("****************************************") print("* *") print("* Es totalmente gratis *") print("* *") print("****************************************") time.sleep(2)
Haciendo uso de la función time.sleep podemos detener la ejecución del programa durante los segundos especificados. En este caso se detiene por 2 segundos, de modo que podamos ver el cambio de bloques y visualizar el mensaje.
Hasta ahora hemos visto dos razones para usar la función “cls – clear”, pero existen muchas más oportunidades de aprovechar su versatilidad.
El siguiente ejemplo tiene que ver con la simulación de movimiento. Crearemos un gusanito y a medida que camine irá escribiendo “hola”.
import os import time if os.name == "posix": var = "clear" elif os.name == "ce" or os.name == "nt" or os.name == "dos": var = "cls" os.system(var) print("") print(" Ö ") time.sleep(0.5) os.system(var) print("") print(" OÖ ") time.sleep(0.5) os.system(var) print("") print(" OOÖ ") time.sleep(0.5) os.system(var) print("") print(" OOOÖ ") time.sleep(0.5) os.system(var) print("") print(" OOOOÖ ") time.sleep(0.5) os.system(var) print("") print(" OOOO ") print(" Ö ") time.sleep(0.5) os.system(var) print("") print(" OOO ") print(" O ") print(" Ö ") time.sleep(0.5) os.system(var) print("") print(" OO ") print(" O ") print(" O ") print(" Ö ") time.sleep(0.5) os.system(var) print("") print(" O ") print(" O ") print(" O ") print(" O ") print(" Ö ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" O ") print(" O ") print(" O ") print(" OÖ ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" O ") print(" OÖ ") print(" OO ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |Ö ") print(" OO ") print(" OO ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |OÖ ") print(" |O ") print(" OO ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |OOÖ ") print(" |O ") print(" |O ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |OOOÖ ") print(" |O ") print(" | ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |OOOO ") print(" | Ö") print(" | ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |_OOO ") print(" | O") print(" | Ö") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |__OO ") print(" | O") print(" | OÖ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___O ") print(" | O") print(" | OOÖ") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ ") print(" | O Ö") print(" | OOO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ Ö") print(" | | O") print(" | OOO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ OÖ") print(" | | O") print(" | |OO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ OOÖ ") print(" | | O") print(" | | O") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ OOOÖ ") print(" | | O") print(" | | |") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ OOOOÖ ") print(" | | |") print(" | | |") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ OOOO ") print(" | | | Ö") print(" | | |") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ _OOO ") print(" | | | O") print(" | | | Ö") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ __OO ") print(" | | | O") print(" | | | ÖO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ ___O ") print(" | | | O") print(" | | | ÖOO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ ___ ") print(" | | | O") print(" | | |ÖOOO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ ___ ") print(" | | | Ö |") print(" | | |OOOO") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | ") print(" |___ __Ö ") print(" | | | O |") print(" | | |OOO|") time.sleep(0.5) os.system(var) print("") print(" | ") print(" | Ö ") print(" |___ __O ") print(" | | | O |") print(" | | |OO_|") time.sleep(0.5) os.system(var) print("") print(" | Ö") print(" | O ") print(" |___ __O ") print(" | | | O |") print(" | | |O__|") time.sleep(0.5) os.system(var) print("") print(" | OÖ") print(" | O ") print(" |___ __O ") print(" | | | O |") print(" | | |___|") time.sleep(0.5) os.system(var) print("") print(" | OO") print(" | O Ö") print(" |___ __O ") print(" | | | |") print(" | | |___|") time.sleep(0.5) os.system(var) print("") print(" | OO") print(" | O O") print(" |___ ___ Ö") print(" | | | |") print(" | | |___|") time.sleep(0.5) os.system(var) print("") print(" | OO") print(" | O") print(" |___ ___ O") print(" | | | | Ö") print(" | | |___|") time.sleep(0.5) os.system(var) print("") print(" | O") print(" | O") print(" |___ ___ O") print(" | | | | O") print(" | | |___| Ö") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | O") print(" |___ ___ O") print(" | | | | O") print(" | | |___| OÖ") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ O") print(" | | | | O") print(" | | |___| OOÖ") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ |") print(" | | | | O") print(" | | |___| OOOÖ") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ |") print(" | | | | |") print(" | | |___| OOOOÖ") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ |") print(" | | | | |") print(" | | |___| |OOOOÖ") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ |") print(" | | | | | Ö") print(" | | |___| |_OOOO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | Ö") print(" | | | | | O") print(" | | |___| |__OOO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | OÖ") print(" | | | | | O") print(" | | |___| |___OO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | OOÖ") print(" | | | | | O") print(" | | |___| |___ O") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | OOOÖ") print(" | | | | | O") print(" | | |___| |___ |") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | OOOOÖ") print(" | | | | | |") print(" | | |___| |___ |") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | OOOO") print(" | | | | | | Ö") print(" | | |___| |___ |") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | _OOO") print(" | | | | | | O") print(" | | |___| |___ | Ö") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __OO") print(" | | | | | | O") print(" | | |___| |___ | ÖO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | ___O") print(" | | | | | | O") print(" | | |___| |___ | ÖOO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | O") print(" | | |___| |___ |ÖOOO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | Ö |") print(" | | |___| |___ |OOOO") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __Ö ") print(" | | | | | | O |") print(" | | |___| |___ |OOO|") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __OÖ ") print(" | | | | | | O |") print(" | | |___| |___ |OO_|") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __OOÖ ") print(" | | | | | | O |") print(" | | |___| |___ |O__|") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __OOO ") print(" | | | | | | O |Ö") print(" | | |___| |___ |___|") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | __OOO ") print(" | | | | | | |O") print(" | | |___| |___ |___|Ö") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | ___OO ") print(" | | | | | | |OÖ") print(" | | |___| |___ |___|O") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | |") print(" |___ ___ | ___ O Ö") print(" | | | | | | |OO") print(" | | |___| |___ |___|O") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | | Ö") print(" |___ ___ | ___ O") print(" | | | | | | |OO") print(" | | |___| |___ |___|O") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | | OÖ") print(" |___ ___ | ___ O") print(" | | | | | | | O") print(" | | |___| |___ |___|O") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | | OOÖ") print(" |___ ___ | ___ O") print(" | | | | | | | O") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | | OOOÖ") print(" |___ ___ | ___ O") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | |") print(" | | OOOOÖ") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | Ö") print(" | | OOOO") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖO") print(" | | OOO") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOO") print(" | | OO") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOO") print(" | | O") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | |ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" | ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" |ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print(" ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("ÖOOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("OOOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("OOO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("OO") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("O") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/") time.sleep(0.5) os.system(var) print("") print("") print(" | |") print(" |___ ___ | ___ ") print(" | | | | | | | /") print(" | | |___| |___ |___|/")
Gracias, me sirvio abriendo el programa con python, pero no con sublime text 3.
y conseguiste que te fuese en sublime?
utiliza Visual Studio Code con la extensión de Python y listo.
Con Python se pueden hacer cosas increíbles, ya aprendí algo nuevo con la función sleep.
Gracias por tus enseñanzas.
Gracias por este aporte. Me resultó muy útil y er alo que estaba buscando. Que bien logrado está la explicación y que sitio web más optimizado. Gracias por el esfuerzo y compartir el conocimiento.
Muchas gracias por el aporte.
Recién estoy aprendiendo a programar en Python pero sé que puedo sacarle mucho provecho a la programación y aplicarla a mi profesión.
Bendiciones.