Metodo Python os.walk ()

Descrizione

Metodo Python 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 restituisce valore.

Esempio

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

# !/usr/bin/python

import os
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))

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

./tmp/test.py
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp

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

./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py