def compile_fix(source, filename, mode): try: compile(source, filename, 'exec') except Exception as e: print(e) val = e lines = source.split('\n')[: e.lineno - 1 ] new_source = '\n'.join(lines) compile(new_source, filename, 'exec') raise e if __name__ == '__main__': import sys filename = sys.argv[1] with open(filename) as src: compile_fix(src.read(), filename, 'exec')