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 :

Recherche de fichiers dans un dossier et Threads


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut Recherche de fichiers dans un dossier et Threads
    Bonjour,
    je voudrais par exemple rechercher tous les fichiers d'extension ".txt" dans un dossier et tous ses sous-dossiers (pour tous les niveaux de profondeur possibles).
    Apparemment, glob permet cela (j'ai un bout de code quelque part donc le problème n'est pas là).

    MON PROBLEME : je voudrais informer l'utilisateur que le programme travaille en lui indiquant 'Recherche dans le dossier Machin', puis 'Recherche dans le dossier Truc',... etc. Je cherche une méthode efficace en terme de temps d'où la référence aux Threads dans le titre.

    Est-ce une bonne idée ? Si oui, quelqu'un peut-il me donner de l'aide car mes connaissances en Threads sont proches du zéro absolu cher à Mister Kelvin ?

    Toute info. est la bienvenue.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut glob.iglob
    Plutôt que d'attendre que glob.glob retourne la liste des fichiers trouvés, iglob vous fournit un "iterator" sur l'ensemble des fichiers qui correspondent a votre recherche. Plus besoin de threads.
    Mais bon ce n'est qu'une suggestion.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Plutôt que d'attendre que glob.glob retourne la liste des fichiers trouvés, iglob vous fournit un "iterator" sur l'ensemble des fichiers qui correspondent a votre recherche. Plus besoin de threads.
    Mais bon ce n'est qu'une suggestion.
    - W
    Très bonne suggestion. Je n'avais pas encore regardé en détail ce module.

    Merci.

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Voilà ce que cela donne concrètement. Le code suivant cherche et affiche en temps réel les fichiers de type *.TXT et aussi les dossiers en cours de recherche. Ce code en soit ne serre à rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #!/usr/bin/env python
    #coding=utf-8
     
    # Source : http://neacm.fe.up.pt/docs/python3/library/os.path.html
    import os, glob
     
    def lectureDossier(cheminTeste):
    # glob. glob : tout d'un coup
    #    thisDir = glob.glob(cheminTeste)
     
    # glob.iglob : iterateur
        thisDir = glob.iglob(cheminTeste)
     
        for onePath in thisDir:  
            if os.path.isdir(onePath):
                print 'DOSSIER : ' + str(onePath)
                lectureDossier(os.path.join(onePath, '*'))
            else:
                fileNameSplitted = os.path.basename(onePath).split('.')
                try:
                    if fileNameSplitted[1]=='txt':
                        print '\tFICHIER TEXTE : ' + str(onePath)
                except:
                    pass
     
    lectureDossier(os.path.expanduser(os.path.join('~', '*')))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Rechercher un fichier dans plusieurs dossiers
    Par AcideBlood dans le forum VB.NET
    Réponses: 11
    Dernier message: 14/12/2014, 20h47
  2. Macro recherche de fichiers dans un dossier et creation d hyperlink
    Par Elouan.pecheur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2013, 21h56
  3. [Toutes versions] Formulaire de recherche de fichier dans un dossier VBA Excel
    Par azizabdel84 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/09/2011, 22h09
  4. Rechercher un fichier dans un dossier
    Par vladimire dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 19/12/2008, 16h03
  5. Rechercher un fichier dans un dossier
    Par GomuSan dans le forum Windows
    Réponses: 0
    Dernier message: 30/05/2008, 20h02

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