He estado usando bastante Python REPL últimamente. Lo he estado usando en Windows y realmente me resultaba bastante molesto no poder borrar la pantalla del terminal.
Con un poco de trabajo pude hackear este código para permitirme limpiar la terminal. Hubo algunos pequeños problemas que hicieron que esto no fuera trivial.
La mayoría de los ejemplos que pude encontrar en StackOverflow usaban os.cmd para llamar a clear o cls. El uso de os.system está en desuso. Necesitaba descubrir cómo ejecutar esto como un subproceso. Esto lo hizo un poco más complicado porque cls es un comando interno. Eso significa que está integrado en el ejecutable cmd. No podemos ejecutar cls directamente, por lo que debemos ejecutarlo como parte de una invocación de cmd.
La línea de comando es cmd /c cls. El parámetro /c le dice al procesador de comandos que salga inmediatamente después de ejecutar cls.
import subprocess def clear() -> None: command = ['cmd'] args = ['/c','cls'] cli = command args subprocess.run(cli) return None
Entonces, si bien ahora tenemos el código correcto, queremos que esté disponible automáticamente cada vez que activemos un REPL de Python que esté disponible para nosotros.
Tengo entendido que existen varias formas de guardar este código para que Python lo recoja automáticamente. Así es como lo hice.
Creé una nueva variable de entorno de nivel de usuario PYTHONSTARTUP y la apunté a mi directorio %USERPROFILE%. USERPROFILE es el análogo de Windows del directorio HOME en una máquina *nix. Guardé el código en un archivo .pyrc que almacené en el directorio %PYTHONSTARTUP%.
Esto no es nada importante ni trascendental, pero me llevó unos minutos de trabajo resolverlo, así que pensé que a otros también les gustaría saberlo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3