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.
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