Méthode os.walk() de Python
Méthodes de fichier/répertoire du module OS de Python
Aperçu
La méthode os.walk() est utilisée pour afficher les noms de fichiers dans un répertoire en parcourant l'arborescence des répertoires, de haut en bas ou de bas en haut.
La méthode os.walk() est un itérateur de fichiers et de répertoires simple et facile à utiliser qui nous aide à traiter efficacement les tâches de fichiers et de répertoires.
Elle fonctionne sous Unix et Windows.
Syntaxe
walk()La syntaxe de la méthode est la suivante :
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
Parameters
-
top-- est l'adresse du répertoire que vous souhaitez parcourir ; il renvoie un triplet (root, dirs, files).
- root fait référence à l'adresse du dossier lui-même en cours de parcours.
- dirs est une liste contenant les noms de tous les répertoires de ce dossier (à l'exclusion des sous-répertoires).
- files est également une liste, contenant les noms de tous les fichiers de ce dossier (à l'exclusion des sous-répertoires).
topdowntopdown -- Optionnel. Si True, il donne la priorité au parcours du répertoire supérieur ; sinon, il donne la priorité au parcours des sous-répertoires de top (activé par défaut). Si le paramètre topdown est True, walk parcourra le dossier supérieur et chaque sous-répertoire du dossier supérieur.
onerroronerror -- Optionnel. Nécessite un objet appelable, qui sera appelé lorsque walk rencontre une exception.
followlinksfollowlinks -- Optionnel. Si True, il parcourra les répertoires réels pointés par les raccourcis (liens symboliques sous Linux) dans le répertoire (désactivé par défaut). Si False, il donne la priorité au parcours des sous-répertoires de top.
Valeur de retour
Renvoie un générateur.
Exemple
L'exemple suivant illustre l'utilisation de la méthode walk() :
Exemple
# -*- coding: UTF-8 -*-
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))
La sortie du programme ci-dessus est :
./.bash_logout ./amrood.tar.gz ./.emacs ./httpd.conf ./www.tar.gz ./mysql.tar.gz ./test.py ./.bashrc ./.bash_history ./.bash_profile ./tmp ./tmp/test.pyAutres extensions