sábado, 9 de octubre de 2010

Receta Python: Buscar una cadena de un archivo en otro archivo

Se tienen dos archivos (archivo1 y archivo2); lo que se pretende es leer el archivo1 linea a linea y buscar cada línea en el archivo2, al final se crea un archivo denominado diferencias donde aparecen las líneas que se encuentran en archivo1 y que NO están en archivo2.




#!/usr/bin/env python
import os

try:
 # Solicito el nombre de los archivos a analizar
 farchivo1 = raw_input('Primer archivo: ')
 farchivo2 = raw_input('Segundo archivo: ')

 # Abro el archivo 1
 archivo1 = open(farchivo1,'r')

 c = archivo1.readlines()

 for i in c:
  archivo2 = open(farchivo2,'r')
  # Leo completamente el archivo2
  full = archivo2.read()
  if full.find(str(i))>=0:
   print i,' OK\n'
  else:
   # Abro un archivo para edición
   fdif = open('diferencias.txt','a')
   noe = i
   fdif.writelines(noe)
  fdif.close()
  archivo2.close()

 archivo1.close()

except IOError:
 print 'El archivo indicado no existe'

1 comentario:

Anónimo dijo...

Estimado:

Gracias por el aporte, me permitió optimizar una búsqueda que realizo periódicamente.

Atte.
Miguel Quintana.