Comment trier des fichier en fonction de leurs extension ?

Résolu/Fermé
Ancor17 Messages postés 65 Date d'inscription lundi 8 mai 2017 Statut Membre Dernière intervention 1 avril 2018 - 15 mai 2017 à 07:07
 gudu - 15 mai 2017 à 20:17
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

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 lundi 8 mai 2017 Statut Membre Dernière intervention 1 avril 2018 21
Modifié le 15 mai 2017 à 16:57
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 lundi 8 mai 2017 Statut Membre Dernière intervention 1 avril 2018
15 mai 2017 à 20:17
C'était juste pour ordonner la liste à l'affichage, ce n'est pas utile en soi.
0