28

Comment puis-je obtenir cette pièce pour suivre les liens symboliques dans python 2.6?Python os.walk + suivez les liens symboliques

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 

Répondre

42

Set followlinks-True. Ceci est le quatrième argument de la méthode os.walk, reproduit ci-dessous:

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

Cette option a été ajoutée en Python 2.6.

+5

Merci, 'os.walk (chemin, followlinks = True):' fait l'affaire, bien que la documentation de Python ne soit pas claire à ce sujet: http://docs.python.org/library/os.path.html# os.path.walk –

+6

@Frank: bien sûr, ce n'était pas clair; vous regardez la documentation de 'os.path.walk' qui est une fonction séparée (plus ancienne et obsolète). Vous devriez regarder la documentation ['os.walk'] (http://docs.python.org/library/os.html#os.walk). – tzot