Lister tous les fichiers du répertoire et des sous-répertoires en Python
-
Utilisez
os.walk()
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python -
Utilisez
listdir()
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python -
Utilisez
glob
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python
Python offre de nombreuses façons d’accéder à une liste de fichiers dans un répertoire et des sous-répertoires. Ce guide passera en revue os.walk()
, listdir()
et glob
.
Utilisez os.walk()
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python
Le module os
de Python fournit un moyen d’interagir avec le système d’exploitation. Il possède de nombreuses fonctions intégrées qui traitent du système de fichiers.
Nous pouvons récupérer, créer, supprimer et modifier les répertoires à l’aide de ce module. Le walk()
est une méthode récursive qui génère les noms de fichiers dans une arborescence de répertoires en marchant de haut en bas ou de bas en haut.
Dans le code suivant, nous avons affiché les fichiers du répertoire et des sous-répertoires de MyFolder
. Dans notre cas, ce dossier est situé dans le répertoire personnel de l’environnement Python.
Exemple de code :
import os
root = "MyFolder"
for path, subdirs, files in os.walk(root):
for name in files:
print(os.path.join(path, name))
Production:
MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt
Utilisez listdir()
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python
Dans le code suivant, nous parcourons l’arborescence des répertoires et accédons à ses fichiers et sous-fichiers sans utiliser la méthode walk
. Nous avons spécifié le dossier racine MyFolder
comme point de départ.
Ensuite, nous avons accédé aux répertoires et sous-répertoires de ce dossier à l’aide de listdir()
et les avons stockés dans des éléments. Nous avons concaténé les noms des éléments avec le chemin précédent et vérifié s’il s’agit d’un répertoire à l’aide de la méthode isdir()
.
Si tel est le cas, nous poursuivrons nos recherches dans ce répertoire et appliquerons la même procédure. Nous avons ajouté le nom du fichier au chemin précédent s’il s’agit d’un nom de fichier et les avons affichés.
Exemple de code :
import os
root = "MyFolder"
files = []
walk = [root]
while walk:
folder = walk.pop(0) + "/"
items = os.listdir(folder) # items = folders + files
for i in items:
i = folder + i
(walk if os.path.isdir(i) else files).append(i)
print(files)
Production:
['MyFolder/text_file1.txt', 'MyFolder/text_file2.txt', 'MyFolder/SubFolder1/text_file3.txt', 'MyFolder/SubFolder1/text_file4.txt']
Utilisez glob
pour répertorier tous les fichiers du répertoire et des sous-répertoires en Python
Le glob
est un module intégré à Python qui signifie global
. Ce module renvoie tous les chemins de fichiers dont le nom et l’extension correspondent à un modèle spécifique.
Ici, nous avons utilisé *.*
, qui indique tout nom de fichier ayant une extension quelconque. On utilise le glob.glob()
pour rechercher récursivement des fichiers à l’intérieur d’un répertoire ou d’un sous-répertoire.
Le modèle **
correspondra à tous les fichiers et à zéro ou plusieurs dossiers et sous-répertoires si récursif est défini sur True
.
Exemple de code :
import glob
path = "MyFolder\**\*.*"
for file in glob.glob(path, recursive=True):
print(file)
Production:
MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn