Andrej Mitrovic wrote:
On Mar 26, 9:18 am, "Alf P. Steinbach" <al...@start.no> wrote:
<snip>
hierarchy =nspect.getclasstree( classes )
# 'hierarchy' is a list array of tuples and nested list arrays of the same form.
# The top level is an array of two items, the first item a tuple describing the
'object'
# class, and the second item a list array representing the BaseException 
hierarchy.
print_hierarchy( hierarchy[1], level = )
</code>

Cheers & hth.,

- Alf

Thanks for all of that. And yes, I've noticed I get into infinite
recursions all the time, which is why I was asking if there was a
simple way to do this. I'll have a look at these later.

Kind regards,
Andrej Mitrovic

I can't help with the original question, but generally the cure for getting into infinite recursion when traversing a tree with multiple connections is to keep a set() of all visited nodes. Whenever you hit a node a second time, don't visit it or its dependents. It's not hard to add to otherwise working code, and frequently the easiest place is right at the beginning of the recursive function.
      if new_node in myset:
            return
     myset.add(new_node)
    ...process_this_node...
    for child in new_node:
          ...recurse...

HTH
DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to