[SNIPPET]: clean emacs python shell output

Janko Hauser jhauser at ifm.uni-kiel.de
Tue Mar 7 16:39:02 CET 2000

This small code helps in saving the great scientific results found by
accident in an interactive python shell within emacs (and removing all
the failures :-)

Only lightly tested

HTH, __Janko

#!/usr/bin/env python
Convert the output of an emacs shell buffer to a usefull script.
Filter out lines which generated a traceback.

Copyright 2000 Janko Hauser jhauser at ifm.uni-kiel.de
__version__ = "0.1"
__author__ = "Janko Hauser jhauser at ifm.uni-kiel.de"

import sys, string

def clean_comint(fname):
    lines = open(fname, 'r').readlines()
    nlines = []

    for line in lines:
        if line[:9] == 'Traceback' or string.find(line,'<stdin>') >= 0:

        if buffer and buffer[:3] != '>>>': # Can happen after ctrl-c
        if line[:4] == '>>> ' or line[:4] == '... ':
    return nlines

if __name__ == "__main__":

    import sys, string
    nl = clean_comint(sys.argv[1])
    print string.join(nl,'\n')

More information about the Python-list mailing list