eliluminado
(0 comentarios, 14 entradas)
Este usuario no ha compartido ninguna información de perfil
Web: http://www.codigopython.com.ar
Jabber/GTalk: eliluminado@codigopython.com.ar
Entradas de eliluminado
Segui mis avances con la guia de Tkinter
1
Para todos los que deseen seguir mis avances en la guía de Tkinter les dejo unas pequeñas instrucciones como para que puedan empezar a seguirme en el desarrollo de la guía.
La guía como les había comentado en “http://www.codigopython.com.ar/?p=214” va ir siendo almacenada en los servidores de GitHub en sus repositorios Git como si se tratara del desarrollo de una aplicación, en ellos iré subiendo periódicamente los cambios y avances que vaya realizando. Para descargar una copia de la guía y todos los archivos que la complementan así como las imágenes, las podemos obtener haciendo click en el siguiente enlace en donde se generara un archivo .zip donde estarán contenidos los archivos mencionados
https://github.com/eliluminado/Guia-Tkinter/zipball/master
Otra forma un poco mas compleja pero mas útil es teniendo en nuestra PC instalado Git para así poder crear una copia del repositorio y con unas simples ordenes desde la consola actualizar los archivos a sus ultimas versiones. Para esto deberán tener como mencione instalado Git (Pueden encontrar varias guías de instalación en la web) y desde la consola escribir los siguiente:
git clone git://github.com/eliluminado/Guia-Tkinter.git DIRECTORIO
Donde se tiene que reemplazar la palabra ‘DIRECTORIO’ por el nombre de la carpeta donde desean crear la copia de los archivos.
Con esto hecho ya obtendrán una copia de los archivos, para actualizarlos deberán escribir en la consola:
git pull
Cualquier duda que tengan pueden dejar su comentario aqui y se los respondere.
Saludos y nos estaremos viendo en otro post
Trabajando en mi primer guia sobre Tkinter
3Después de mucho tiempo inactivo sigo aprendiendo sobre Python esta vez le toca el turno a Tkinter, pero en el camino me tope con que no hay mucha información sobre este en español, que mientras en ingles encontramos guiás y tutoriales muy buenos en nuestro idioma no es así. Que mejor para solventar este inconveniente que crear una guiá en español OpenSource, en donde iré compartiendo el ‘código fuente’ de la guiá hasta que la termine y la publique tanto en este blog así como en la wiki [wiki.codigopython.com.ar].
Todos los que deseen colaborar o hacer sus comentarios pueden ponerse en contacto conmigo dando su comentario en este post o escribiéndome a:
contacto@codigopython.com.ar
Para consultar la guiá pueden hacerlo desde mi repositorio en GitHub y ver como va avanzando, si lo desean también pueden colaborar desde allí con su desarrollo.
https://github.com/eliluminado/Guia-Tkinter
Para los que desean colaborar van a notar que use varios símbolos y caracteres, esos caracteres sirven para proveer de un formato al texto y gracias a txt2tags luego poder convertir ese texto a a por ejemplo HTML. Los que estén interesados en colaborar pueden pasar por la pagina de txt2tags para buscar mas información sobre el tema
Me despido y los iré manteniendo al tanto de mis avances.
Aceptando parametros desde la linea de comandos
5Bienvenidos a la ya 4ª parte de esta serie de tutoriales, les recuerdo que en los tres anteriores tutoriales creamos tres funciones, las cuales nos permitían ocultar y desolcultar archivos además de una tercera que nos permitía obtener el estado en que se encontraba dicho archivo. En esta oportunidad les mostrare usando a PyHide (Pueden encontrar mas información sobre este proyecto aquí http://wiki.codigopython.com.ar/pyhide) como interactuar con el usuario a través de la linea de comandos aceptando el uso de argumentos, un ejemplo de esto es el uso del comando ‘cd‘ (este comando nos permite cambiar el directorio de trabajo que estamos utilizando) en Linux este acepta un argumento que es el directorio con el que deseamos trabajar, algo similar deberemos de implementar en nuestra aplicación para facilitar su uso pero para esto planteemos cuales serán lo pasos que tendremos que tener en cuenta para conseguirlo
1 – El usuario ejecuta nuestra aplicación con un argumento
2 – Se analizan los argumentos ingresados
3 – Se ejecuta la función ‘hide‘, ‘show‘ o ‘check‘ según corresponda
Eso es una breve descripción de la meta que nos proponemos a lo largo del tutorial, ahora si empecemos por el principio de esto. El primer inciso que nos planteamos implica que nuestra aplicación soporte el uso de argumentos para funcionar, en un principio nuestras funciones ya toman un argumento que es el archivo que se utilizara pero nuestra aplicación va a necesitar dos argumentos uno para indicar el archivo y el otro para indicar la acción ha realizar, es decir si se llama a ‘hide‘ o a ‘show‘, pero veamoslo con un ejemplo. (más…)
Analizando el estado de los archivos
5En las primeras dos partes de esta serie de tutoriales estuvimos viendo como ocultar archivos y como revertir esto utilizando dos funciones una era ‘hide‘ y la otra ‘show‘, con estas dos podemos hacer lo que necesitamos pero quizás nos guste poder obtener el estado en que se encuentre un archivo para por ejemplo poder utilizarlo dentro de nuestra aplicación para informarle al usuario el estado del archivo sin realizar ninguna acción sobre el mismo, para esto crearemos a ‘check‘ una función que se encargara de esto. La creación de ‘check‘ sera algo que no nos llevara mucho tiempo ni esfuerzo porque su construcción se basa en lo que ya vimos, hasta ahora tenemos dos funciones como estas:
def hide(file):
import os
if not os.path.exists(file):
return
archive = os.path.basename(file)
directorio = os.path.dirname(file)
if archive[0] == '.':
return
else:
newfile = directorio+'/''.'+archive
os.rename(file, newfile)
def show(file):
import os
if not os.path.exists(file):
return
archive = os.path.basename(file)
directorio = os.path.dirname(file)
if archive[0] != '.':
return
else:
while archive[0] is '.':
archive = archive[1:]
newfile = directorio+'/'+archive
os.rename(file, newfile)
Antes de comenzar a escribir nuestra función debemos plantear que es lo que deseamos conseguir y como lo venimos haciendo pasemos a enumerar las cosas que haremos para conseguir desarrollar esta pequeña pero útil función.
1 – Entra como parámetro un archivo
2 – Se verifica si el archivo se encuentra oculto (más…)
Mostrando archivos ocultos en GNU/Linux
4En la primera parte de esta serie de tutoriales “Ocultando archivos en GNU/Linux“, les había mostrado una pequeña pero funcional aplicación para ocultar archivos en Linux pero en esta parte vamos a ampliar un poco sus funciones agregando una nueva función que realice todo lo contrario a lo que logramos hasta ahora, con esto me refiero a que en vez de ocultar archivos podamos mostrar archivos ocultos, lo cual seria en nuestro caso una herramienta para revertir las acciones realizadas por nuestra función ‘hide‘.
Antes de ponernos a jugar con Python debemos dejar en claro que es lo que queremos lograr tal cual lo hicimos en la primer parte del tutorial, empecemos enumerando las principales funciones que deberá de cumplir nuestro script:
- Entra como parámetro un archivo
- Si no esta oculto no se realizaría ninguna acción
- Si esta oculto quitamos el punto que tiene en el nombre
Como nos daremos cuenta la primera parte se mantiene, la segunda es muy similar a la de la función ‘hide‘ ya creada solamente que esta otra función tiene la diferencia de que verifica que el archivo no se encuentre oculto. Hasta acá es todo muy similar pero la perspectiva nos cambia cuando llegamos al punto 3 de nuestra lista, pero lo mejor es ir un paso a la ves así que lo mejor va a ser empezar por ir a la primer parte de esta lista.
(más…)
Ocultando archivos en GNU/Linux
2Una de las facilidades que nos ofrece lo sistemas basado en Unix es su facilidad para configurarlo sin tener que tocar un gran y sobrecargado registro (haciendo referencia a Microsoft Windows) sino que modificando simple archivos de texto podemos ajustar las preferencias de nuestros programas o de nuestro sistema, un ejemplo de esto es la forma como se oculta un archivo y/o carpeta en los sistemas basado en Unix porque simplemente anteponiendoles un punto al nombre del archivo este se vuelve un archivo oculto para el sistema. Viendo esta facilidad para ocultar un archivo en nuestra distribución Linux, practiquemos un poco con Python creando un pequeño pero funcional script que oculte un archivo.
Comencemos planteando como llevar nuestra necesidad de ocultar un archivo en GNU/Linux con Python, por ahora tenemos dos cosas como para comenzar una es que nuestra función tiene que tomar un archivo como parámetro para funcionar y la otra es como se oculta un archivo, llevándolo al papel nos quedaría algo así como para orientarnos en la construcción de la función:
- Entra como parámetro un archivo
- Si ya esta oculto no se realizaría ninguna acción
- Si no esta oculto colocamos como primer carácter en el nombre un punto
Habiéndolo planteado empecemos por el punto numero 1, nuestro Linux no discrimina si se trata de un archivo o de una directorio utiliza el mismo método para ocultarlos así que comprobar con que estamos trabajando podemos dejarlo de lado por un momento, algo que si es importante es que obviamente el archivo debe existir. Para comprobar la existencia del archivo podemos tomar como referencia lo visto en “Tres formas de comprobar la existencia de un archivo” utilizando la primer forma, ya que como mencione no estamos discriminando si se trata de un archivo o una carpeta y no tendría ningún sentido utilizar la segunda forma. La primer forma para comprobar la existencia de un archivo que vimos fue esta:
Tres formas de comprobar la existencia de un archivo
15En esta oportunidad intentare (espero lograrlo) mostrarles tres formas básicas para comprobar la existencia de un archivo, dos de ellas usa el modulo ‘os’ y la otra usando la función ‘open’, aclaro que son formas básicas con las cuales podemos experimentar y jugar un poco pero no son las únicas formas de hacerlos o la forma mas correcta de usarlos, esa parte se las dejare como tarea.
Por cuestiones de no extender demasiado la lectura (me preocupo por ustedes y no los hago leer demasiado xd) voy obviar la explicación de porque nos seria útil saber si un archivo existe o no y vamos a pasar directo a mostrar las tres formas en su funcionamiento y aplicación, vamos a divertirnos un rato con Python.
1º Forma:
archivo = "/usr/bin/firefox"
def checkfile(archivo):
import os.path
if os.path.exists(archivo):
print "El fichero existe"
else:
print "El fichero no existe"
Como verán a fines prácticos mientras construimos la función agregue una variable con el archivo a detectar que lo usare en las tres formas, en el nombre de la función recuerden que podemos usar cualquier palabra mientras no usemos ninguna de las palabras reservadas por Python las cuales las podemos encontrar aquí o no sea un nombre legal en Python [Ver mas aquí], el argumento que toma la función es simplemente el archivo a verificar, siguiendo tenemos lo mas importante que sin esta linea el resto no puede funcionar, se trata de importar el modulo os.path y sin ella no podríamos usar la función exists para comprobar la existencia del archivo. Si el archivo existe la función devuelve True en caso contrario devuelve False y gracias al condicional if podemos analizar dicha salida. El inconveniente de esta forma es que no distingue entre un fichero o una carpeta, por ejemplo si cambiáramos nuestra primer linea por:
archivo = “/usr/bin/”
Seguiría devolviendo True o verdadero, porque como no daremos cuenta la carpeta existe, pasemos a la segunda forma.
(más…)
Nombres de variables y palabras reservadas
9En Python cuando necesitamos nombrar una variable, una función o una lista entre otras cosas tenemos que cumplir con ciertas reglas para que el interprete de Python no se queje y se produzca un error, para mantener una buena sintaxis y evitar errores tenemos palabras reservadas (Ver aquí cuales son), caracteres ilegales y formas incorrectas de nombrar. Para que se entienda les enumero las cosas que no debemos hacer al crear un nombre para por ejemplo una variable:
Nombres “ilegales” en Python:
1º – Que contengan un carácter ilegal
2º – Que utilicemos una palabra reservada
3º – Que no empiece con una letra (más…)
Nace un nuevo IDE para Python
9Seguramente a muchos les ha pasado o están en la situación de no encontrar un buen IDE para Python, si están en esa situación o les gusta probar nuevas herramientas les presento a continuación un editor muy completo y con mucho futuro por delante. En este articulo intentare mostrarles algunas de las virtudes con que cuenta NINJA-IDE el IDE que les mencionare y tratare en este post.
Primero porque se llama Ninja, el nombre es bastante interesante ya que son las siglas de “Ninja Is Not Just Another IDE” lo que podríamos traducirlo como “Ninja no es sólo otro IDE” un nombre bastante peculiar y que también lo refleja una vez que lo iniciamos, ya que una vez iniciado disponemos de una interfaz muy agradable y limpia con una barra lateral no superior como otros editores con los botones que mas utilizaremos, donde contamos con por ejemplo los infaltables botones de Nuevo, Abrir Y guardar y sus equivalentes para iniciar, abrir y guardar proyectos; por otro lado junto con lo que les acabo de mencionar en esa barra contamos con una opción que no se encuentra en muchos IDE’s que es la ejecutar lo que estemos escribiendo en el interprete de Python lo que nos permite ejecutar todo el proyecto o solo en el archivo con el que estemos trabajando.
Cabe destacarse que este IDE esta escrito en Python para Python, no solo se trata de un editor con resaltado de sintaxis para Python sino que nos ofrece funciones similares a las que encontraríamos en PyScripter pero multiplataforma y escrito en Python lo que nos sirve si deseamos colaborar en el desarrollo o aumentar su capacidad a través del uso de plugins que soporta esta aplicación, demás esta destacar que para el apartado gráfico usaron PyQt lo cual lo vuelve muy lindo y agradable a la vista, no por esto estoy menospreciando a PyGtk y WxPython que espero que no se ofendan xd.
Este proyecto esta Realizado por miembros de PyAr y otros Colaboradores, y va en aumento debido al gran futuro que esta prometiendo. (más…)
Palabras reservadas en Python
11Una pequeña lista de las palabras reservadas en Python
[table id=1 /]
Seguilo tambien en Google Docs