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