El día 23 de marzo de 2010 14:45, Manuel Enrique González Ramírez <[email protected]> escribió: > Hola a...@s de la lista. > > Tengo este pequeño inconveniente. > > Tengo dos archivos (archivo1.txt y archivo2.xml). Archivo1 contiene una > lista de datos en la siguiente forma: > > primerdato > segundodato > tercerdato > . > . > . > etc > > > Archivo2.txt es un archivo en formato XML que tiene la estructura propia de > un archivo de este tipo, completamente diferente al archivo1.txt > > Lo que necesito que haga mi programa es: > 1. Leer linea a linea archivo1.txt > 2. Cada vez que se lea una línea de archivo1.txt busque si esa palabra se > encuentra en archivo2.xml > 3. Si la palabra NO se encuentra en archivo2.xml se debe crear un archivo > nuevo (diferencias.txt) que agregue esa palabra que no encontro en > archivo2.xml. Si el archivo diferencias.tx ya existe entonces que agregue > una linea nueva al archivo diferencias.txt con la palabra en cuestion. >
¿Es abordable meter todas las palabras de archivo2.xml en un set? Si es así hazlo y verás que rapidito vas. Si no es abordable meterlo en memoria, puedes probar a usar una berkeleydb. http://docs.python.org/library/sets.html#module-sets http://docs.python.org/library/bsddb.html#module-bsddb Los dos modulos han sido marcados como "deprecated". El primero viene incluido como tipo del sistema y para el segundo puedes usar las librerias de jcea (otro listero). http://www.jcea.es/programacion/pybsddb.htm Así que no preocuparse por quedarse sin soporte ;-) Un saludo: Javi _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
