Comment trier des fichier en fonction de leurs extension ?

Résolu
Ancor17 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
 gudu -
Bonjour, je voudrais pouvoir n'afficher que des fichier texte avec cette instruction:

import os
print(os.listdir(os.path.abspath(os.path.dirname(__file__))))

print(os.listdir(os.getcwd()))

Là, avec ce bout de programme, ça affiche TOUT le contenu qui est présent avec le fichier python que j'execute, y compris les dossier, autres fichiers, etc...
Quelqu'un aurait-il une solution ?
A voir également:

1 réponse

gudu
 
Très simple, il suffit de split le nom du fichier par le .

import os

extension = 'text'
folder = os.path.abspath(os.path.dirname(__file__))
files = []

for f in os.listdir(folder):
    if os.path.isfile(folder + '/' + f) and '.' in f and f.split('.')[-1] == extension:
        files.append(f)

print(sorted(files))
1
Ancor17 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   21
 
Merci beaucoup ça marche, même si j'ai mis un petit peu de temps a comprendre le fonctionnement de ces instructions !
Petite question : à quoi sert l'instruction sorted() ?
0
gudu > Ancor17 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention  
 
C'était juste pour ordonner la liste à l'affichage, ce n'est pas utile en soi.
0