That's it. Thank you! Very instructive. Final:
path = "d:/emacs files/emacsinit.txt" lines = open(path).readlines() # next two lines all on one starts = [i for i, line in enumerate(lines) if line.startswith('(defun')] for i, start in enumerate(starts): while start > 0 and lines[start-1].startswith(';'): starts[i] = start = start-1 print starts -- http://mail.python.org/mailman/listinfo/python-list