Procesamiento de textos con Python

Si los lenguajes de programación fueran herramientas del mundo físico, python sería el equivalente a una navaja suiza. Es un lenguaje extremadamente versátil y enfocado a la utilidad (su parser viene de serie con Mac OSX, y es compatible con .NET, todo sea dicho), y os traigo un ejemplo de ello.

Por motivos de trabajo surgió la necesidad de procesar una lista de elementos que me proporcionaban en un txt con el siguiente formato.

elem1
elem2
elem3
...

y así 400 elementos.

había que agregar un parámetro en la cabecera y al final de cada línea, así como una cabecera y un fin del fichero, y guardarlo con un formato distinto.

Es una operación que se puede realizar manualmente aunque es un poco tediosa, con lo cual recurrí a python (que me había sido de gran utilidad en ocasiones anteriores) y pude procesarlo en 5 min (4:55 para escribir el código, 5s para generar el fichero).

El código empleado de python fue el siguiente, no tiene demasiada ciencia, abrir un archivo, recorrerlo linea a linea, y guardar en un segundo archivo la línea con el campo anterior y el siguiente (que en este caso era un identificador):


#!/usr/bin/env python
import sys
import os

def main():
    i = open('in.txt')
    o = open('out.php','w')
    o.write("<?php $data = array(\n")
    counter = 1
    for line in i:
        data = line.split("\n")
        o.write( str(counter) + '=> "' + data[0] + '",\n')
        counter +=1;
    o.write(");\n?>")

if __name__ == '__main__':
    main()

Es importante recalcar la importancia de los tabuladores, ya que python usa este sistema para indentar el código, ni llaves, ni begin… end, solamente tabuladores, lo cual lo hace más sencillo, si cabe, y si sabemos qué estamos escribiendo, claro.

Si quereis más información podeis consultar la web del lenguaje: python.org

Introducción a Python

Hece ya unos meses la asociación para el fomento del software libre impartió una charla de introducción al desarrollo con Python en la escuela y se me ocurrió escribir una pequeña introducción a este lenguaje de programación, así que, sin más, os presento un lenguaje de scripting interesante.

Continuar leyendo «Introducción a Python»