28

¿Cómo hago para que esta pieza siga los enlaces simbólicos en python 2.6?Python os.walk + follow symlinks

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 

Respuesta

42

Conjunto followlinks-True. Este es el cuarto argumento al método os.walk, reproduce a continuación:

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

Esta opción se añadió en Python 2.6.

+5

Gracias, 'os.walk (ruta, followlinks = True):' hizo el truco, aunque la documentación de Python no estaba clara al respecto: http://docs.python.org/library/os.path.html# os.path.walk –

+6

@Frank: por supuesto no estaba claro; está viendo la documentación de 'os.path.walk', que es una función separada (antigua y obsoleta). Debería mirar la documentación ['os.walk'] (http://docs.python.org/library/os.html#os.walk). – tzot

Cuestiones relacionadas