Python 3 - metodo os.walk ()

Descrizione

Il metodo walk() genera i nomi dei file in un albero di directory percorrendo l'albero dall'alto verso il basso o dal basso verso l'alto.

Sintassi

Di seguito è riportata la sintassi per walk() metodo -

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

Parametri

  • top - Ogni directory radicata in directory, produce 3 tuple, ovvero (dirpath, dirnames, filenames)

  • topdown- Se l'argomento opzionale topdown è True o non specificato, le directory vengono scansionate dall'alto verso il basso. Se topdown è impostato su False, le directory vengono scansionate dal basso verso l'alto.

  • onerror - Questo può mostrare un errore per continuare con la passeggiata o sollevare l'eccezione per interrompere la passeggiata.

  • followlinks - Questo visita le directory puntate dai collegamenti simbolici, se impostato su true.

Valore di ritorno

Questo metodo non restituisce alcun valore.

Esempio

L'esempio seguente mostra l'utilizzo del metodo walk ().

# !/usr/bin/python3
import os

os.chdir("d:\\tmp")
for root, dirs, files in os.walk(".", topdown = False):
   for name in files:
      print(os.path.join(root, name))
   for name in dirs:
      print(os.path.join(root, name))

Risultato

Compiliamo ed eseguiamo il programma sopra, questo scansionerà tutte le directory e le sottodirectory dal basso verso l'alto

.\python2\testdir\Readme_files\Lpt_Port_Config.gif
.\python2\testdir\Readme_files\ParallelPortViever.gif
.\python2\testdir\Readme_files\softcollection.css
.\python2\testdir\Readme_files\Thumbs.db
.\python2\testdir\Readme_files\Yellov_Ball.gif
.\python2\testdir\Readme.htm
.\python2\testdir\Readme_files
.\python2\testdir
.\Applicationdocs.docx
.\book.zip
.\foo.txt
.\java.ppt
.\python2

Se cambierai il valore di topdown a True, quindi ti darà il seguente risultato:

.\Applicationdocs.docx
.\book.zip
.\foo.txt
.\java.ppt
.\python2
.\python2\testdir
.\python2\testdir\Readme.htm
.\python2\testdir\Readme_files
.\python2\testdir\Readme_files\Lpt_Port_Config.gif
.\python2\testdir\Readme_files\ParallelPortViever.gif
.\python2\testdir\Readme_files\softcollection.css
.\python2\testdir\Readme_files\Thumbs.db
.\python2\testdir\Readme_files\Yellov_Ball.gif