On Mon, Oct 5, 2009 at 3:59 AM, Austin Bingham <austin.bing...@gmail.com> wrote: > I'm looking for the proper way to "walk" a graph of python objects. My > specific task is to find all objects of a given type that are referred > to (transitively) by some starting object. My approach has been to > loop through the object's attributes, examining each, and then > recursing on them. > > This approach has immediate problems in that I immediately hit > infinite recursion due to method-wrappers; I'm not sure *exactly* > what's going on, but it appears that method-wrappers refer to > method-wrappers ad infinitum. If I add code to avoid this issue, > others soon crop up, so before I wrote too much more code, I thought > I'd check with experts to see if there's a better way. > > So, if I've explained what I'm looking for well enough, does anyone > know of a proper way to walk a graph of object references? I need to > support cycles in the graph, so keeping track of visited object IDs or > something will have to be employed. Also, I need to be able to follow > references stored in lists, dictionaries, etc...basically any way to > programatically get from one object to another should be followed by > the algorithm. I feel like I'm missing something simple, but perhaps > this is just a tricky problem for python. Any ideas or insight would > be great. Thanks! > > Austin > -- > http://mail.python.org/mailman/listinfo/python-list >
Look in the pickle module. It has to do this to serialize arbitrary python objects I think. HTH, ~Simon -- http://mail.python.org/mailman/listinfo/python-list