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'
Comentarios
Gracias por el aporte, me permitió optimizar una búsqueda que realizo periódicamente.
Atte.
Miguel Quintana.