Marco Mariani wrote:
If the lines are really sorted, all you really need is a merge,
For the archives, and for huge files where /usr/bin/diff or difflib are not appropriate, here it is.
#!/usr/bin/env python import sys def run(filea, fileb): p = 3 while True: if p&1: a = filea.readline() if p&2: b = fileb.readline() if not a or not b: break elif a == b: p = 3 elif a < b: sys.stdout.write('-%s' % a) p = 1 elif b < a: sys.stdout.write('+%s' % b) p = 2 for line in filea.readlines(): sys.stdout.write('-%s' % line) for line in fileb.readlines(): sys.stdout.write('+%s' % line) if __name__ == '__main__': run(file(sys.argv[1]), file(sys.argv[2]))
-- http://mail.python.org/mailman/listinfo/python-list