Signaler

Comment trier des fichier en fonction de leurs extension ? [Résolu]

Posez votre question Ancor17 57Messages postés lundi 8 mai 2017Date d'inscription 29 octobre 2017 Dernière intervention - Dernière réponse le 15 mai 2017 à 20:17 par 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 ?
Utile
+1
plus moins
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))
Cette réponse vous a-t-elle aidé ?  
Ancor17 57Messages postés lundi 8 mai 2017Date d'inscription 29 octobre 2017 Dernière intervention - 15 mai 2017 à 16:56
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() ?
Répondre
gudu- 15 mai 2017 à 20:17
C'était juste pour ordonner la liste à l'affichage, ce n'est pas utile en soi.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !