Comment itérer sur les fichiers d'un répertoire en Python.
Voici un tutoriel détaillé étape par étape sur la façon de parcourir des fichiers dans un répertoire en utilisant Python.
Étape 1 : Importer les modules nécessaires
Pour commencer, vous devez importer le module os, qui fournit un moyen d'interagir avec le système d'exploitation. Ce module vous permettra d'accéder aux fichiers et répertoires dans un répertoire donné.
import os
Étape 2 : Spécifier le chemin du répertoire
Ensuite, vous devez spécifier le chemin du répertoire que vous souhaitez parcourir. Vous pouvez fournir un chemin absolu (par exemple, /chemin/vers/le/répertoire) ou un chemin relatif (par exemple, ./répertoire). Assurez-vous que le répertoire existe et dispose des permissions nécessaires.
répertoire = '/chemin/vers/le/répertoire'
Étape 3 : Parcourir les fichiers du répertoire
Maintenant, vous pouvez utiliser la fonction os.listdir() pour obtenir une liste de tous les fichiers et répertoires dans le répertoire spécifié. Ensuite, vous pouvez parcourir cette liste pour traiter chaque fichier individuellement.
for nom_fichier in os.listdir(répertoire):
# Traiter le fichier
print(nom_fichier)
Étape 4 : Vérifier si l'élément est un fichier
Dans la boucle, vous pouvez vouloir effectuer des actions spécifiques uniquement sur les fichiers et non sur les répertoires. Pour cela, vous pouvez utiliser la fonction os.path.isfile() pour vérifier si l'élément actuel dans la boucle est un fichier.
for nom_fichier in os.listdir(répertoire):
if os.path.isfile(os.path.join(répertoire, nom_fichier)):
# Traiter le fichier
print(nom_fichier)
Étape 5 : Obtenir le chemin complet du fichier
Si vous avez besoin d'accéder aux fichiers dans la boucle, vous aurez besoin du chemin complet du fichier. Vous pouvez utiliser la fonction os.path.join() pour joindre le chemin du répertoire avec le nom de fichier actuel dans la boucle.
for nom_fichier in os.listdir(répertoire):
if os.path.isfile(os.path.join(répertoire, nom_fichier)):
chemin_complet = os.path.join(répertoire, nom_fichier)
# Traiter le fichier en utilisant le chemin_complet
print(chemin_complet)
Étape 6 : Filtrer les fichiers par extension
Parfois, vous ne voulez traiter que les fichiers avec une extension spécifique. Vous pouvez utiliser la méthode str.endswith() pour filtrer les fichiers en fonction de leur extension.
extension = '.txt' # Spécifiez l'extension de fichier souhaitée
for nom_fichier in os.listdir(répertoire):
if nom_fichier.endswith(extension) and os.path.isfile(os.path.join(répertoire, nom_fichier)):
chemin_complet = os.path.join(répertoire, nom_fichier)
# Traiter le fichier avec l'extension spécifiée
print(chemin_complet)
Étape 7 : Gérer les sous-répertoires de manière récursive
Si le répertoire contient des sous-répertoires et que vous souhaitez parcourir tous les fichiers de ces sous-répertoires également, vous pouvez utiliser la récursivité. Vous pouvez créer une fonction séparée qui s'appelle elle-même pour chaque sous-répertoire trouvé.
def parcourir_fichiers(répertoire):
for nom_fichier in os.listdir(répertoire):
if os.path.isfile(os.path.join(répertoire, nom_fichier)):
chemin_complet = os.path.join(répertoire, nom_fichier)
# Traiter le fichier
print(chemin_complet)
else:
sous_répertoire = os.path.join(répertoire, nom_fichier)
parcourir_fichiers(sous_répertoire) # Appeler récursivement la fonction pour les sous-répertoires
# Appeler la fonction avec le répertoire initial
parcourir_fichiers(répertoire)
C'est tout ! Vous disposez maintenant d'un tutoriel détaillé sur la façon de parcourir des fichiers dans un répertoire en utilisant Python. N'hésitez pas à personnaliser et utiliser ces exemples de code en fonction de vos besoins spécifiques.