La mayoría de las veces, mientras trabajamos con Python Interactive Shell/Terminal (no una consola), terminamos con una salida desordenada y queremos borrar la pantalla por alguna razón.
En un shell/terminal interactivo, simplemente podemos usar
ctrl+l
Pero, ¿qué pasa si queremos borrar la pantalla mientras ejecutamos un script de python?
Desafortunadamente, no hay una palabra clave o función/método integrados para limpiar la pantalla. Entonces, lo hacemos por nuestra cuenta.
Podemos usar la secuencia de escape ANSI, pero no son portátiles y es posible que no produzcan el resultado deseado.
print(chr(27)+'[2j')
print('\033c')
print('\x1bc')
Entonces, esto es lo que vamos a hacer en nuestro script:
- Del sistema de importación os.
- Defina una función.
- Realice una llamada al sistema con ‘clear’ en Linux y ‘cls’ en Windows como argumento.
- Almacene el valor devuelto en un guión bajo o cualquier variable que desee (se usa un guión bajo porque Python Shell siempre almacena su último resultado en un guión bajo).
- Llame a la función que definimos.
# import only system from os from os import system, name # import sleep to show output for some time period from time import sleep # define our clear function def clear(): # for windows if name == 'nt': _ = system('cls') # for mac and linux(here, os.name is 'posix') else: _ = system('clear') # print out some text print('hello geeks\n'*10) # sleep for 2 seconds after printing output sleep(2) # now call function we defined above clear()
NOTA: También puede solo «importar sistema operativo» en lugar de «desde el sistema de importación del sistema operativo», pero con eso, debe cambiar system(‘clear’) a os.system(‘clear’).
Otra forma de lograr esto es usando el módulo de subproceso.
# import call method from subprocess module from subprocess import call # import sleep to show output for some time period from time import sleep # define clear function def clear(): # check and make call for specific operating system _ = call('clear' if os.name =='posix' else 'cls') print('hello geeks\n'*10) # sleep for 2 seconds after printing output sleep(2) # now call function we defined above clear()
Publicación traducida automáticamente
Artículo escrito por mohit_negi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA