Comment puis-je utiliser « os.walk() » pour créer une liste de répertoires structurée avec des indicateurs de profondeur en Python ?

Mary-Kate Olsen
Libérer: 2024-11-07 04:31:02
original
902 Les gens l'ont consulté

How can I use `os.walk()` to create a structured directory listing with depth indicators in 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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!