IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Liste de fichiers


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut Liste de fichiers
    Salut les developpeurs !

    Je voudrais savoir comment faire sous python pour créer une liste de fichiers.
    Je m'explique :
    Dans un repertoire C:/temp, j'ai des fichiers .txt
    Je voudrais créer une liste de tous les fichiers .txt (tous les fichiers avec la meme extension) qui se trouvent dans le repertoire C:/temp.

    Est-ce que cela est possible? (je me doute que oui !)
    Donc, si oui, comment je peux faire cela?

    Je vous remercie pour votre aide qui me sera a coup sur precieuse !

    Tequilaplouf


    [EDIT]
    La solution semble etre là : http://www.developpez.net/forums/d67...ion-extension/
    Je ne l'avais pas vu...

  2. #2
    Membre expérimenté Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Par défaut
    Bonjour,
    Voir dans la faq avec
    glob.glob("*.txt")

    http://python.developpez.com/faq/?pa...sListeFichiers

    Alex

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut
    Merci de ta réponse.
    C'est vrai que glob fait ça très bien.
    J'ai préféré passer par des lignes de codes plus simples pour que tout soit llisible facilement sans avoir a chercher dans la doc la fonction glob (au cas ou un fou veuille s'attaquer a mon code et comprendre ce qui s'pass).
    Du coup, pour information et pour ceux qui ont le meme genre de probleme, je vous donne la solution pour laquelle j'ai optée finalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    rep = 'D:/Stat'
    entrees = os.listdir(rep)
    listeFichierStat = []
    for nf in entrees:
        nfc = os.path.join(rep, nf)
        if os.path.isfile(nfc) and os.path.splitext(nfc)[-1]==".txt":
             listeFichierStat.append(nfc)
    Et voila, reste plus qu'a réccupérer listeFichierStat et faire mumuse avec...

    Tequila

  4. #4
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    si tu veux faire court avec os, cette façon est également possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listOfFiles=['./MyRep/'+filename for filename in os.listdir('./Myrep/') if '.txt' in filename]

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Petite correction pour éviter de prendre des fichiers du genre "aaa.txtbbb.html", un test si c'est bien un fichier, et une concaténation un peu plus propre. On perd cependant en lisibilité en faisant ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ext = '.txt'
    rep = './dossier'
    listOfFiles=[os.path.join(rep, filename) for filename in os.listdir(rep) if os.path.isfile(os.path.join(rep, filename)) and filename.endswith(ext)]
    Il n'empêche que je ne vois pas d'intérêt à réinventer la roue... glob fait ce travail comme il faut, et puis personnellement je préfère chercher dans la doc une fonction qui pourra m'être utile plutôt que de déchiffrer un code qui se contente de réinventer la roue.

  6. #6
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    J'adore réinventer la roue, même si elle est ovale

Discussions similaires

  1. [JSP] liste de fichiers dans une appli web
    Par cyrso dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/01/2005, 17h17
  2. Réponses: 7
    Dernier message: 19/09/2004, 22h01
  3. Liste de fichiers et de répertoires
    Par Freakazoid dans le forum C++
    Réponses: 4
    Dernier message: 09/08/2004, 17h16
  4. liste des fichiers d'un répertoire
    Par am dans le forum C
    Réponses: 3
    Dernier message: 04/08/2003, 17h03
  5. [Kylix] Liste des fichiers d'un répertoire
    Par Houben Jacques dans le forum EDI
    Réponses: 3
    Dernier message: 30/11/2002, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo