Lecture récursive du contenu d'un dossier en Python
En Python, vous pouvez rencontrer des problèmes lorsque vous tentez de parcourir de manière récursive des répertoires pour lire des fichiers texte. Un problème courant est le code qui ne fonctionne que pour un seul niveau de répertoire.
Comprendre la fonction os.walk
Le cœur de la traversée récursive de dossiers en Python réside dans le système d'exploitation Fonction .walk(). Il parcourt un répertoire spécifié et ses sous-répertoires, renvoyant trois valeurs : racine, sous-répertoires et fichiers.
Optimisation du dossier Traversée
Pour parcourir les répertoires de manière récursive, vous devez parcourir la liste des sous-répertoires renvoyée par os.walk(). Pour chaque sous-répertoire, vous pouvez ensuite appeler os.walk() de manière récursive pour traiter son contenu.
Code Python amélioré
L'exemple de code peut être modifié pour gérer plusieurs répertoires niveaux :
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
Meilleures pratiques supplémentaires
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3