scanf en python
Chema Cortés
ch3m4 en ch3m4.org
Mie Oct 1 12:18:25 CEST 2003
Alejandro Perez escribió:
> Bueno Chema no se si te servirá, pero como flexible ...
> Las clases Get Mid ... Puedes ir procesando el registro de entrada de la
> forma más adecuada, los proceso de extracción de cada tipo de campo
> quedan con finados en la clase que corresponda y cuando los datos están
> en un diccionario pues como las convenga.
Muchas gracias. Tú código me ha servido para probar un par de ideas.
> Lo de
> las expresiones regulares, no sé, quizá no sea lo que mas se ajusta a la
> organización de un fichero de texto. El uso de split creo que será más
> comun (un caracter de final de campo, otro de fin de registro ...)
He probado velocidades, y no existen grandes diferencias de velocidad
entre usar las clases Get/Mid o usar las expresiones regulares. Las
clases son más concisas en concepto, pero con las expresiones regulares
se puede hacer búsquedas sofisticadas de patrones. Si una línea no se
ajusta al patrón de búsquedas, ésta se excluye del proceso, lo que sí
que supone aumento de velocidad de proceso:
#Patrón para procesar líneas con el código postal de Zaragoza (50000)
cad_patron=....
cad_patron+= "(?P<codpostal>50\d{3})"
cad_patron+=...
patron=re.compile(cad_patron)
for line in file("prueba.txt"):
m=patron.match(line)
if m:
d=m.group_dict()
...
--
Res publica non dominetur
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es