Defcrypt

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…)

2 Comments :, , , more...

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…)

Leave a Comment :, more...

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…)

3 Comments :, , , , more...

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

(continue reading…)

2 Comments :, , , , , more...

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.

Leave a Comment :, , , , more...

¿Buscando algo?

Utiliza este formulario para buscar: