Python
Buscar y reemplazar en archivos grandes con Python y expresiones regulares (parte II)
by dGil on Ene.07, 2009, under Programación, Python
Éste post es la continuación de Buscar y reemplazar en archivos grandes con Python y expresiones regulares (parte I) dónde explicaba un poco las expresiones regulares.
En este segundo post, como ya indiqué, hablaré sobre el programa que utiliza esos conocimientos. (continue reading…)
Buscar y reemplazar en archivos grandes con Python y expresiones regulares (parte I)
by dGil on Ene.05, 2009, under Programación, Python
Para mi PFC (proyecto de final de carrera) he tenido que hacer el típico buscar y reemplazar en varios archivos. El problema consistía en que esos ficheros eran una base de datos volcada en archivos txt. Para más inri, no la volcaron en formato SQL (¡ojalá!) sino que utilizaron el delimitador ‘ | ‘ para indicar dónde acababan las tuplas. Si hubiera sido un archivo pequeño, con cualquier editor hubiera sido suficiente, pero no era el caso. En total sumaban 203.000 líneas aproximadamente, repartidas en 6 ficheros, 2 de ellos de 90.000 líneas.
Como había un par de ficheros de gran tamaño, decidí hacer un pequeño programa en python para buscar y reemplazar. Para ello decidí usar junto con Python expresiones regulares. (continue reading…)
Ejecutar Finder desde Terminal en MacOS X
by dGil on Dic.31, 2008, under MacOS X, Programación, Python
Una de las cosas que mas me molestó cuando migré a MacOS X hace ya algunos años es que a diferencia de otros sistemas operativos, como GNU/Linux con GNOME, no pudiera ejecutar el gestor de archivos (Finder) desde la consola. Hasta hoy, nunca me preocupé de buscar una solución, pero hoy me harté e intenté solucionarlo.
Para ello he creado un pequeño programa en Python que nos permite ejecutar desde la Terminal el Finder. (continue reading…)
Instalar PyQt 4 en MacOS X Leopard
by dGil on Dic.24, 2008, under Python, Qt, Tutoriales
Como ya comentamos en un post anterior, Pynigma funcionará sobre Python y Qt (PyQt), así que necesitaba tener en el Mac PyQt. He tenido varios problemas para conseguir que funcionara en Leopard, y como la información sobre PyQt para MacOS es escasa, he hecho un resumen de cómo hacerlo.
Al final de este post tendremos instalado:
- Qt 4.4.3
- Python 2.5
- SIP 4.7.9
- PyQt 4.4.4
Hexadecimal y Binario en Python
by dGil on Dic.20, 2008, under Programación, Python, Tutoriales
Python, como la mayoría de lenguajes, permite trabajar con hexadecimal (base 16), decimal (base 10), octal (base 8) y a partir de la versión 2.6 también se puede usar binario (base 2). Aunque parezca raro que no se implementara base binaria hasta la versión 2.6, normalmente el uso de binario se puede substiuir por hexadecimal. Aún así, se agradece que podamos escojer nosotros.
Para insertar un número en hexadecimal se utiliza el 0x delante del numero en hexadecimal:
numhex = 0x2f print numhex # 47
En python, siempre que se haga un print y no se indique lo contrario, se imprimen los números en base 10.
Ejemplo de inserción de binario y octal (para identificar un número como binario tiene que empezar con 0b y en el caso de octal por 0):
numbin = 0b1101 print numbin # 13
numoct = 011 print numoct # 9
Para poder imprimir los números en cada base tendremos que hacer lo siguiente:
# Hexadecimal print "%x" % 10 # 0xA print hex(10) # 0xA # Octal print "%o" % 10 # 012 print oct(10) # 012 # Binario print bin(10) # 0b1010
Para finalizar, comentar que al usar hex(), oct() o bin() retornan un string, no un int.