bearophileh...@lycos.com wrote: > When I write recursive code in Python I sometimes go past the maximum > allowed stack depth, so I receive a really long traceback. The show of > such traceback on my screen is very slow (despite a CPU able to > perform billions of operations each second). So I think I'd like > something to shorten them. > I am thinking about something like: > from __future__ import short_traceback > > That allows me to see only the first and last parts of the stack > trace, and skips the (generally very redundant) middle part. > > Note that generally using sys.setrecursionlimit(limit) to set a > smaller limit isn't good, because I may need a big depth anyway.
That's none of __future__'s business, I think. Python offers a hook which you can modify: >>> import sys, traceback >>> from functools import partial >>> sys.excepthook = partial(traceback.print_exception, limit=5) >>> x = 0 >>> def f(): ... global x ... x += 1 ... f() ... >>> f() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in f File "<stdin>", line 4, in f File "<stdin>", line 4, in f File "<stdin>", line 4, in f RuntimeError: maximum recursion depth exceeded >>> x 999 Peter -- http://mail.python.org/mailman/listinfo/python-list