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