Maison > Article > développement back-end > Comment puis-je utiliser « os.walk() » pour créer une liste de répertoires structurée avec des indicateurs de profondeur en Python ?
Navigation récursive dans les répertoires avec os.walk() en Python
Cherchant à créer des listes de répertoires plus structurées, un développeur a tenté de modifier son code pour afficher les répertoires sous forme de titres en majuscules avec des lignes pointillées indiquant la profondeur et les fichiers en dessous. Cependant, leur approche initiale a donné des résultats incomplets.
Pour relever ce défi, nous pouvons utiliser l'attribut os.sep de Python pour délimiter correctement les composants du chemin. Voici une solution améliorée :
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
Dans ce code révisé, nous divisons le chemin en utilisant os.sep comme délimiteur, qui s'adapte aux systèmes de fichiers Windows et Unix. En soustrayant 1 à la longueur du chemin, nous pouvons obtenir la profondeur du niveau actuel et afficher le nombre approprié de lignes pointillées.
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!