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