Maison > Article > développement back-end > Comment répertorier une arborescence de répertoires en Python à l'aide de os.walk ?
Liste d'une arborescence de répertoires en Python
La manipulation de fichiers et de répertoires est une tâche courante en programmation. En Python, il est facile d'obtenir une liste de tous les fichiers et répertoires d'un répertoire donné à l'aide de la fonction os.walk.
Obtenir des fichiers et des répertoires avec os.walk
La fonction os.walk prend un chemin de répertoire en entrée et renvoie un objet générateur qui génère un tuple pour chaque répertoire qu'elle rencontre. Le tuple contient trois éléments :
Voici un exemple d'utilisation de os.walk pour lister une arborescence de répertoires :
<code class="python">import os for dirname, dirnames, filenames in os.walk('.'): # Print path to all subdirectories first. for subdirname in dirnames: print(os.path.join(dirname, subdirname)) # Print path to all filenames. for filename in filenames: print(os.path.join(dirname, filename))</code>
Ce code parcourra l'arborescence de répertoires en commençant à partir du répertoire courant (représenté par '.') et imprimez le chemin d'accès à chaque sous-répertoire et fichier qu'il rencontre.
Utilisation avancée
La fonction os.walk permet également vous de contrôler la façon dont il traverse l’arborescence des répertoires. Par exemple, vous pouvez modifier la liste des noms de répertoires pendant l'itération pour empêcher os.walk de réapparaître dans certains répertoires.
Dans l'exemple ci-dessous, le code évite de réapparaître dans les répertoires nommés .git :
<code class="python">if '.git' in dirnames: # Don't go into any .git directories. dirnames.remove('.git')</code>
Cette polyvalence fait de os.walk un outil puissant pour travailler avec des arborescences de répertoires en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!