3 votes

os.walk mais avec des répertoires au dessus ?

J'ai un code simple pour imprimer la structure d'un répertoire. Mon exemple de répertoire ABC contient le sous-répertoire A contenant A.txt un sous-répertoire Z contenant Z.txt et un fichier info.txt . En utilisation réelle, il s'agira d'une grande collection de nombreux fichiers et répertoires imbriqués.

import os
topdir = 'ABC/'
for dirpath, dirnames, files in os.walk(topdir):
    print(os.path.join(dirpath))
    for name in files:
        print(os.path.join(dirpath, name))

La sortie est :

ABC/
ABC/info.txt
ABC/A
ABC/A/A.txt
ABC/Z
ABC/Z/Z.txt

Comment puis-je faire en sorte que les répertoires soient traités/imprimés en haut ? Je veux que la sortie reproduise ce que je vois dans l'Explorateur Windows, qui affiche les répertoires d'abord, et les fichiers ensuite.

Le résultat que je veux :

ABC/
ABC/A
ABC/A/A.txt
ABC/Z
ABC/Z/Z.txt
ABC/info.txt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X