views:

69

answers:

1

How do I get this piece to follow symlinks in python 2.6?

def load_recursive(self, path):
    for subdir, dirs, files in os.walk(path):
        for file in files:
            if file.endswith('.xml'):
                file_path = os.path.join(subdir, file)
                try:
                    do_stuff(file_path) 
                except:
                    continue
+2  A: 

Set followlinks to True. This is the fourth argument to the os.walk method, reproduced below:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

This option was added in Python 2.6.

Richard Cook
Thank you, `os.walk(path, followlinks=True):` did the trick, although Python documentation was quite unclear about this: http://docs.python.org/library/os.path.html#os.path.walk
Frank Malina
@Frank: of course it was unclear; you're looking at the documentation for `os.path.walk` which is a separate (older and deprecated) function. You should be looking at the [`os.walk`](http://docs.python.org/library/os.html#os.walk) documentation.
ΤΖΩΤΖΙΟΥ