Как насчет использования difflib таким образом, чтобы ваш скрипт мог обрабатывать большие файлы? Не загружайте файлы в память, а перебирайте файлы файлов и разбирайте их по частям. Например, 100 строк одновременно.
import difflib
d = difflib.Differ()
f1 = open('bigfile1')
f2 = open('bigfile2')
b1 = []
b2 = []
for n, lines in enumerate(zip(f1,f2)):
if not (n % 100 == 0):
b1.append(lines[0])
b2.append(lines[1])
else:
diff = d.compare("".join(b1), "".join(b2))
b1 = []
b2 = []
print ''.join(list(diff))
diff = d.compare("".join(b1), "".join(b2))
print ''.join(list(diff))
f1.close()
f2.close()