Entradas

Renombrar de forma masiva ficheros en Python y wxPython

Imagen
 En este post se presenta renombra v1.0 . Una aplicación gráfica escrita en Python y wxPython para renombrar ficheros, de forma masiva.  En concreto: ➔ Permite seleccionar carpetas (directorios), y visualiza los ficheros y directorios que contiene, con iconos identificativos. ➔ Permite renombrar aquellos ficheros de ese directorio que tengan una extensión específica. ➔ El nombre de los nuevos ficheros tendrán un sufijo (que será un número secuencial a partir de uno dado), y opcionalmente podrán tener un prefijo. Se puede descargar el código de GitHub:  https://github.com/angeloide78/renombra Seleccionamos el directorio: Vamos a renombrar de forma masiva todos los ficheros, renombrando con un sufijo a partir de 10, y un prefijo "imagen": Hacemos click en el botón "Renombrar", y tenemos... Esta aplicación tiene multitud de mejoras... te animo a que te descargues el programa, veas como se hace, ... mejóralo...  salu2.

Instalar wxPython y wxFormBuilder en Linux

Imagen
Pasos a seguir para instalar el framework gráfico wxPython en Linux (en distribuciones basadas en Debian, como Ubuntu, Zorin, Mint, etc)  y con Python3 como intérprete del lenguaje . Abrimos un terminal de Linux y ejecutamos secuencialmente las siguientes instrucciones o comandos: sudo apt update sudo apt install python3-pip pip3 install attrdict sudo apt-get install libgtk-3-dev pip3 install wxPython Para probar si efectivamente se ha instalado la última versión (a día de hoy la 4.2.0 Fénix), podemos verlo en el propio intérprete: Instalar wxFormBuilder es más sencillo. Únicamente hay que ir al repositorio de GitHub , en: https://github.com/wxFormBuilder/wxFormBuilder/releases Y elegir la última versión... Salvo que estés interesado o interesada en bajarte el código y compilarlo tu mismo o misma... te sugiero que bajes el paquete DEB ... Una vez instalado debes ver algo como esto: salu2.

Python y Oracle

Se puede acceder desde Python a Oracle de manera muy sencilla. En este post se presenta una mini receta de como conseguir este propósito. Este caso se va a ver para el entorno Microsoft Windows . Se descarga Python 2.7 64 bit para Windows , desde https://www.python.org/download/releases/2.7/ , mediante el recurso https://www.python.org/ftp/python/2.7/python-2.7.amd64.msi . Se descarga el módulo de conexión de Python a Oracle , desde https://pypi.python.org/pypi/cx_Oracle/5.2 , mediante el recurso https://pypi.python.org/packages/2.7/c/cx_Oracle/cx_Oracle-5.2-11g.win-amd64-py2.7.exe#md5=e606259cfe6733e9f941ab2251c1f0bd Una vez instalado Python (64 bit) y cx_Oracle (64 bit), se prueba: C:\Users\Ángel> python Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle >>> db = cx_Oracle.connect...

Generación de árboles filogenéticos UPGMA a partir de un código de proteína, en Python

Imagen
En este post se presenta una aplicación para la generación de árboles filogenéticos UPGMA a partir de un código de proteína en formato FASTA . La aplicación se puede descargar de: https://sites.google.com/site/elviajedelnavegante/codigo/FILO_TREE.zip?attredirects=0&d=1 Los árboles filogenéticos son útiles para encontrar los familiares más cercanos a nuestro organismo de estudio. Se ha implementado mediante la creación de un script Python , que utiliza la biblioteca externa BioPython para la creación de árboles filogenéticos. La aplicación permite obtener secuencias similares a partir de una secuencia de proteína dada. Estas secuencias obtenidas por Blast son procesadas con un algoritmo de alineamiento múltiple ( Clustal ), cuyo resultado sirve para crear la matriz de distancias y el árbol filogenético UPGMA. La aplicación es multiplataforma, para sistemas Microsoft Windows y Linux . La configuración permite seleccionar cuántas secuencias como máximo se quiere u...

Script para calcular tamaño de ficheros pasados como parámetros

Hola. En este post presento un script muy sencillo para calcular el total del tamaño de los ficheros pasados como parámetros. Se hace uso del módulo os para tratamiento de ficheros. # -*- coding: utf-8 -*- #------------------------------------------------------------------------------- # Name: sizefiles.py # Purpose: # # Author: Ángel luis # # Created: 10-04-2015 # Copyright: (c) Ángel 2015 # Licence: GPL 3 #------------------------------------------------------------------------------- import os import sys def main(): # Get files. if len(sys.argv) == 0: raw_input('I need some file names. Press any key...') else: # Arguments. files = [i for i in sys.argv] try: total_size = 0 for i in files[1:]: total_size += os.path.getsize(os.path.realpath(i)) raw_input("Total size: %d bytes. Press any key..." % total_size) except: raw_input("Files exist...

Compilar Tinker Molecular Modeling en Linux

Imagen
Hola. En este post vamos a ver como compilar el software de modelización molecular Tinker . Lo primero es descargarse el código fuente, que se puede encontrar en: http://dasher.wustl.edu/tinker/ Instalamos la aplicación en Linux normalmente. Para compilar Tinker podemos utilizar el compilador Fortran G95 , que se obtiene de: http://www.g95.org/downloads.shtml Una vez descargado Fortran , se instala normalmente (es un paquete DEB). Una vez instalado Tinker y el compilador Fortran G95 , los pasos a seguir son los siguientes: 1) Nos vamos a la carpeta MolecularTools , que es donde está instalado Tinker. 2) En MolecularTools/tinker/linux/gfortran tenemos los ficheros make para compilar la aplicación. A estos ficheros les damos permisos de ejecución. He hecho chmod 777 sobre todos ellos. 3) Estos ficheros ( compile.make, library.make, link.make, rename.make ) se copian al directorio MolecularTools/tinker/linux/source. 4)  Nos vamos a este directori...

Compilando DB Browser for SQLite 3.5.1

Imagen
Para sistemas Linux hay una forma muy fácil de compilar DB Browser for SQLite . Esta herramienta es muy útil para trabajar con bases de datos SQLite , siendo multiplataforma (Linux, Mac y Windows) y Open Source. La última versión a fecha de hoy, es la 3.5.1. Paso 1 : Bajarse el código fuente de su página web: http://sqlitebrowser.org/ La última versión: https://github.com/sqlitebrowser/sqlitebrowser/zipball/master Paso 2 : Instalarse los paquetes libqt4-dev y libsqlite3-dev . Paso 3 : Desempaquetar (o descomprimir) el código fuente. Ir a la carpeta sqlitebrowser-3.5.1 , y ejecutar:   cmake . A continuación ejecutar: make Si todo ha ido bien debe de empezar a aparecer algo como esto: El resultado es un fichero compilado, llamado sqlitebrowser , de manera que lo ejecutamos: ./sqlitebrowser Abriéndose la aplicación: Saludos.

Instalar wxFormBuilder en Linux

Para instalar wxFormBuilder en una distro basada en Debian, desde el repositorio, basta con seguir estos pasos: 0. Añadimos el PPA para wxWidgets v3.0 (Ubuntu 12.04-13.10) sudo add-apt-repository -y ppa:wxformbuilder/wxwidgets  sudo apt-get update  1. Pre-requisitos (Ubuntu 12.04 LTS) sudo apt-get install libwxgtk3.0-0 libwxgtk-media3.0-0 2. Añadimos el PPA para wxFormBuilder (Ubuntu 12.04-13.10) sudo add-apt-repository -y ppa:wxformbuilder/release  sudo apt-get update  3. Y finalmente instalamos wxFormBuilder sudo apt-get install wxformbuilder Saludos.

Python 2.7.6

Hola a todos. Después de un largo tiempo de inactividad vuelvo con ganas renovadas a este blog, para hablar de Python y de otras tecnologías adyacentes, además de wxPython , tales como Kivy o Django . Este blog es sobre Python , así que nada mejor que empezar a usarlo por su última versión 2.7, es decir, la 2.7.6: http://www.python.org/download/releases/2.7.6/ Para usuarios de Windows la descarga e instalación es trivial. Para los usuarios de Linux, como yo, nada mejor que bajarlo: http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 1) Lo descomprimimos. 2) Cambiamos a superusuario (en Ubuntu sudo su). 3) Ejecutamos: ./configure 4) Ejecutamos: make 5) Ejecutamos: make install Y listo! Ya tenemos nuestro Python 2.7.6 que salió el 10 de Noviembre de 2013! Saludos!

Desarrollo de software profesional

Hola. El pasado Miércoles 28 de Marzo di una charla en el IES Al-Ándalus de Almería , sobre desarrollo de software profesional .  El link es: http://prezi.com/o1hlpdzzbcuj/ desarrollo-de-software-profesio nal/   La presentación es vía web, no la tenéis que descargar.  NOTA: A mitad de la presentación Prezi dejó de poner las tildes, por lo que si veis palabras mal escritas por esta razón fue el software que no me dejó incluirlas. ¿La razón? No tengo respuesta. Saludos!

La evolución de la programación

Imagen
FUENTE: http://servicesangle.com/blog/2012/02/29/the-evolution-of-programming-infographic/

Método de estimación Probe

Imagen

Metodología Ágil

Imagen

Gestión de configuraciones de software

Imagen

Calidad del software

Imagen

vipera 1.0.0

Imagen
Hola. Acabo de subir vipera 1.0.0 en:  http://code.google.com/p/vipera/ . vipera está bajo licencia GPL 3 , por lo que se puede modificar, distribuir y hacer lo que se considere siempre bajo los términos de la General Public License , versión 3. No he creado instaladores, puesto que no me ha dado tiempo, y como estoy en fase de pruebas y depuración de cosas, pues no me ha parecido conveniente. Para hacer funcionar vipera únicamente hay que hacer: python vipera.py Si diera algún problema de fichero de configuración.... (perdón): python vipera.py -r Si encontráis alguna cosa rara, algún mal funcionamiento os agradecería eternamente que me lo comentaseis. vipera es un proyecto, que ahora que está terminado, veo que puede mejorarse en muchas cosas, pero la idea era lo primero, así que a partir de dicha idea se puede ir a otros puertos, con otras tecnologías, como OpenGL en vez de OGL . NOTA: Hay un vídeo demostrativo de su funcionamiento en: https://www.facebo...

wxPython: cómo controlar los PyDeadObject

Imagen
Hola. En este artículo vamos a ver una manera muy fácil de poder controlar los errores producidos en wxPython cuando se intenta acceder a widgets que han sido destruidos. Y vamos a verlo con el siguiente ejemplo: # -*- coding: utf-8 -*- import wx class mi_frame (wx.Frame):     def __init__(self, parent):         wx.Frame.__init__(self, parent)         self.SetTitle("Ejemplo de PyDeadObject")         # 2 botones.         self.boton1 = wx.Button(self, -1, u"Botón 1")         self.boton2 = wx.Button(self, -1, u"Botón 2")         sizer = wx.BoxSizer(wx.HORIZONTAL)         sizer.Add(self.boton1, 0, wx.ALL, 1)         sizer.Add(self.boton2, 0, wx.ALL, 1)      ...

Redes sociales: ¿Dónde debes enviar tu estado?

Imagen
Chuleta para recordar donde hay que enviar nuestro estado... ...y es que es mejor prevenir que curar...

vipera tester 1.0.0

Imagen
Hola. Estas son las grabaciones de vipera , un diseñador de aplicaciones para Python . Este programa será mi proyecto fin de carrera (o de grado como se llama ahora). En este primer vídeo hago una simulación muy sencilla de creación de clases de manera gráfica, y como se genera el código Python correspondiente. https://www.facebook.com/video/video.php?v=1889051804429 En los siguientes links se muestran como hacer prototipos de funciones: https://www.facebook.com/video/video.php?v=1889100005634 https://www.facebook.com/video/video.php?v=1889147406819 Estos vídeos los he creado con recordMyDesktop . Perdón por no tener sonido el primero de ellos, estaba en fase de pruebas... Por último decir que vipera puede crear módulos con clases, funciones, registros (emulados con funciones o clases), constantes y código de ejecución para pruebas de módulo. Además incluye un diseñador de packages visual estilo árbol, un generador de documentación de proyecto y un sistema de gene...

Dennis Ritchie

Imagen
Dennis Ritchie murió el pasado Miércoles 12 de Octubre. http://es.wikipedia.org/wiki/Dennis_Ritchie Una de " sus pocas contribuciones " fue (junto con Ken Thompson ) la creación del lenguaje de programación C, base de la mayoría de las tecnologías de las que ahora disfrutamos. Será por ello que no sale en televisión. Descanse en paz.