Título: (solucionado) [python] limpiar la pantalla Publicado por: Eleкtro en 9 Febrero 2012, 15:32 pm ¿Que estoy haciendo mal?
Código
Título: Re: [python] limpiar la pantalla Publicado por: Jirp96 en 9 Febrero 2012, 16:21 pm Hola!
Pues lo que estas haciendo mal, es llamar a la funcion system. Estas llamandola así: Código
Cuando la llamas asi, estas llamando al atributo "cls", dentro del objeto system, dentro del módulo os. De hecho, para python lo que haces esta "bien"(por ej, asi puedes ver los atributos de las clases), pero, al no existir "cls" dentro de system, da error. Mira esto: Código
Entonces, debes llamar a la funcion system así: os.system(comando_a_ejecutar) *comando_a_ejecutar tiene que ser una cadena, como "cls"(con las comillas). Espero haberte ayudado. Saludos! EDITO: *Si lo ejecuto desde IDLE, no muestra el resultado de cls ni ningun otro comando, peero, si ejecutas python desde la consola funciona sin problemas :o Título: Re: [python] limpiar la pantalla Publicado por: Eleкtro en 9 Febrero 2012, 16:36 pm perfecto gracias
He visto ejemplos y me he dado cuenta que también funciona así los atributos, con una comilla: Código
No se si la diferencia de usar 1 comilla o comillas dobles puede afectar mucho xD Solucionado. Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: Jirp96 en 9 Febrero 2012, 16:45 pm Hola!
Segun se, no tiene ninguna diferencia usar comillas simples o dobles, lo que si, te permiten escribir cosas así: Código
de esta forma: Código
La segunda forma(alternando las comillas) queda mas facil de leer. Es la unica diferencia que se me ocurre. :xD Saludos! Título: Re: [python] limpiar la pantalla Publicado por: WaAYa HaCK en 9 Febrero 2012, 16:47 pm Eso es porque en IDLE, los comandos del sistema que devuelven salida no la vuelcan en la GUI, sólo comprueban el estado de salida (bien o mal).
Por ejemplo: Código Esto hablando desde IDLE. Lo que hago arriba no es muy correcto: si quieres mostrar un listado de archivos, la función os.listdir("R:/uta/al/directorio/") devuelve una lista con los archivos y directorios. En Python, aunque uses Windows, los slash deben ir así /. Y lo de las comillas: Código
Saludos! Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: RyogiShiki en 9 Febrero 2012, 16:49 pm perfecto gracias He visto ejemplos y me he dado cuenta que también funciona así los atributos, con una comilla: Código
No se si la diferencia de usar 1 comilla o comillas dobles puede afectar mucho xD Solucionado. Advertencia - mientras estabas escribiendo, fueron publicadas 2 respuestas. Probablemente desees revisar tu mensaje. Sobre las comillas: http://elclubdelautodidacta.es/wp/2011/10/python-capitulo-22-comillas-simples-dobles-y-triples/ Código esa manera de hacerlo es dependiente de la plataforma y va a tirar al suelo la portabilidad de la que se hace gala en Python, además de ser una llamada costosa de realizar. Una forma de hacerlo es haciendo un bucle que inserte retornos de carro en el bufer de entrada para "simular" una limpieza de pantalla. Saludos Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: WaAYa HaCK en 9 Febrero 2012, 16:50 pm Yo estaba haciendo un script para pasar archivos por internet y usaba argumentos. Cuando arrastras un archivo a la consola de Python, se coloca con comillas dobles por defecto: debes prever esto si vas a usar el sys.
Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: Jirp96 en 9 Febrero 2012, 16:56 pm Hola!
@WaAYa HaCK: Sobre los slash, en windows tambien podes escaparlos con otro slash y(al menos a mi) funcionan sin problemas(aunque queda mucho mas legible usar "/" :xD) Código
Saludos! Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: WaAYa HaCK en 9 Febrero 2012, 16:57 pm Ya, pero yo me he acostumbrado así y mira... :rolleyes:
Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: Eleкtro en 9 Febrero 2012, 17:33 pm Código esa manera de hacerlo es dependiente de la plataforma y va a tirar al suelo la portabilidad de la que se hace gala en Python, además de ser una llamada costosa de realizar. Una forma de hacerlo es haciendo un bucle que inserte retornos de carro en el bufer de entrada para "simular" una limpieza de pantalla. O esto: Código
No funciona xD, aún no se la sintaxis bien pero el code era algo parecido y escribía 500 líneas sin contenido, supongo que ya sabrán de que hablo xD Aunque prefiero usar CLS de momento saludos Título: Re: (solucionado) [python] limpiar la pantalla Publicado por: WaAYa HaCK en 9 Febrero 2012, 20:16 pm Puedes hacer un bucle while:
Código
Esto iría añadiendo 1 al valor de contador y mostrando una línea en blanco. Cuando contador llegara a 500, se rompe el bucle. |