Maison >développement back-end >Tutoriel Python >Comment récupérer des fichiers de sous-dossiers de manière récursive en Python ?
Énoncé du problème
Un script Python rencontre un problème lors de la recherche récursive de sous-dossiers fichiers avec une extension spécifique. Le script vise à créer une liste des fichiers trouvés, mais les sous-dossiers récupérés par le script sont dans une liste plutôt que de représenter le dossier contenant le fichier localisé.
Solution
Pour résoudre ce problème, le chemin d'accès, représenté par la variable "root" dans le code fourni, doit être utilisé à la place de la variable subFolder. Le chemin d'accès contient le chemin absolu du répertoire où réside le fichier localisé.
Extrait de code
Le code Python révisé suivant démontre l'utilisation correcte du chemin d'accès :
<code class="python">import os result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>
En employant cette modification, le code parcourra efficacement les sous-dossiers de manière récursive et créera une liste de fichiers avec l'extension souhaitée, chaque chemin de fichier incluant le dossier auquel il appartient.
Options supplémentaires
En plus de la solution principale, des approches alternatives utilisant le module glob ou le module pathlib intégré de Python pour Python 3.4 et supérieur sont également fournies pour offrir une gamme d'options plus complète.
Conclusion
Ce script modifié identifie et répertorie avec précision les fichiers avec l'extension spécifiée dans les dossiers spécifiés et leurs sous-dossiers, fournissant une solution robuste pour la recherche récursive de fichiers 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!