Méthode python os.walk ()

La description

Méthode Python walk() génère les noms de fichiers dans une arborescence de répertoires en parcourant l'arborescence de haut en bas ou de bas en haut.

Syntaxe

Voici la syntaxe pour walk() méthode -

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

Paramètres

  • top - Chaque répertoire enraciné dans le répertoire, donne 3 tuples, c'est-à-dire (dirpath, dirnames, fichiers)

  • topdown- Si l'argument optionnel topdown a la valeur True ou n'est pas spécifié, les répertoires sont analysés de haut en bas. Si topdown est défini sur False, les répertoires sont analysés de bas en haut.

  • onerror - Cela peut indiquer une erreur pour continuer la marche ou lever l'exception pour abandonner la marche.

  • followlinks - Ceci visite les répertoires pointés par des liens symboliques, s'il est défini sur true.

Valeur de retour

Cette méthode renvoie la valeur.

Exemple

L'exemple suivant montre l'utilisation de la méthode 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))

Compilons et exécutons le programme ci-dessus, cela analysera tous les répertoires et sous-répertoires de bas en haut

./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

Si vous changez la valeur de topdown à True, alors il vous donnera le résultat suivant -

./.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