nuevo "programando"

Chema Cortes pych3m4 en gmail.com
Jue Jul 12 17:56:11 CEST 2007


El 12/07/07, Arnau Sanchez <arnau en ehas.org> escribió:

> La solución que usa expresiones regulares no me acaba de gustar, seguro que a
> alguien se le ocurre alguna forma mejor.

> 4ª propuesta: usando expresiones regulares. En este caso tan simple no está
> justificado, pero a veces la búsqueda puede ser más compleja y entonces sí puede
> ser útil.
>
>      import re
>      output = file("salida.txt", "w")
>      pat = re.compile("^(\s*frecuencia.*)$", re.MULTILINE)
>      addlf = lambda iterator: ("%s\n"%s for s in iterator)
>      output.writelines(addlf(pat.findall(file("entrada.txt").read())))
>      output.close()

Yo lo haría así:

import re

pat=re.compile("^\s*frecuencia")
file("salida.txt","w").writelines(line for line in file("entrada.txt")
if pat.match(line))

bastante similar en construcción al resto de opciones.




Más información sobre la lista de distribución Python-es