Maison  >  Article  >  développement back-end  >  Comment puis-je personnaliser la sortie de os.walk() pour visualiser une structure de répertoires récursive en Python ?

Comment puis-je personnaliser la sortie de os.walk() pour visualiser une structure de répertoires récursive en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 10:03:02560parcourir

How can I customize the output of os.walk() to visualize a recursive directory structure in Python?

Traversée récursive de répertoires avec os.walk() en Python

En Python, la fonction os.walk() est un outil puissant pour parcourir récursivement les répertoires et sous-répertoires. En tirant parti de ses fonctionnalités, vous pouvez naviguer dans votre système de fichiers et accéder efficacement aux fichiers et répertoires.

Utiliser os.walk() pour imprimer les structures de répertoires

Considérez ce qui suit code :

import os

for root, dirs, files in os.walk("."):
    print(root)
    print("")
    for items in fnmatch.filter(files, "*"):
        print("..." + items)
    print("")

Ce code parcourra le répertoire actuel et imprimera les répertoires et les fichiers qu'il contient. Cependant, la sortie ne sera pas au format souhaité : les répertoires et les fichiers seront répertoriés de la même manière.

Personnalisation de la sortie de traversée de répertoire

Pour imprimer le répertoire et structure de fichier comme vous le souhaitez, telle que :

A
---a.txt
---b.txt
---B
------c.out

où A et B sont des répertoires et le reste sont des fichiers, vous pouvez modifier le code comme suit :

import os

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)

Ce code modifié :

  • Divise le chemin en une liste à l'aide du séparateur os.sep, qui représente le séparateur de répertoire sur le système d'exploitation actuel.
  • Calcule le niveau d'indentation pour chaque entrée en fonction du nombre de composants de chemin moins 1.
  • Utilise un combinaison de l'indentation et du nom de base du répertoire ou du fichier pour afficher la structure dans le format souhaité.

En ajustant l'indentation et en utilisant la fonction de nom de base, vous pouvez personnaliser la sortie en fonction de vos besoins spécifiques. Cette technique vous permet de visualiser la hiérarchie des répertoires et d'accéder plus facilement aux fichiers et répertoires.

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!

Déclaration:
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