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 fichier ddur dans tableau [Python 2.X]


Sujet :

Python

  1. #1
    Membre confirm� Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comt�)

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 153
    Par d�faut Recherche fichier ddur dans tableau
    Bonjour,

    Je cherche � ajouter dans un tableau les fichiers d'un r�pertoire qui n'existe pas dans un tableau servant de base de donn�es.

    fonctionne pour le premi�re fichier mais ensuite j'ai l'ajout de tous les fichiers du r�pertoire (logique mais si je place un break apr�s l'append, marche pas)

    La lecture du r�pertoire est correcte
    For pour la longueur du tableau ok

    en fait si la condition �tait de trouver les fichiers comportant le m�me nom entre le r�pertoire et la base la fonction marche bien (je met = au lieu de !=)
    Table_Dll_Win7_64 = base de donn�es
    Tab_Dossier = le tableau � mettre � jour

    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
    27
    28
    29
    30
    31
    32
     
                    def rech_Dll(Rep): 
     
                        if Rep != None:
     
                            xrep=Rep
     
                            for path, dirs, files in os.walk(Rep,topdown=False):
     
     
                                if dirs and path=='c:\\windows\\system32' :                                            # si repertoire present et repertoire = à
     
                                    for xname in range(len(Table_Dll_Win7_64)):                                       # boucle for longueur du tableau
     
                                        for filename in (files):                                                                 # boucle contenu fichiers repertoire
     
                                            if (filename[-4:]=='.dll') or (filename[-4:]=='.DLL'):                       # append que les .dll
                                                if (filename)!= str(Table_Dll_Win7_64[xname]):                        # si nom dll tableau different Dll Ddur
     
                                                    Tab_Dossier.append(path+' < '+(filename)+' >')                   # MAJ tableau pour edition
     
                                                    print (filename)
     
                                        try:
     
                                            if files!=None:
                                                continue
     
                                        except TypeError:
                                            continue
     
                        return

    Dans l'attente,
    merci

  2. #2
    Expert confirm�

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par d�faut
    Salut,

    J'essaye de deviner ce que tu veux faire.

    Utilis� comme ceci Table_Dll_Win7_64[xname] ton tableau m'a tout l'air d'une liste. Si c'est le cas, ta proc�dure est totalement erron�e.

    D'autre part, pourquoi utiliser os.walk si tu ne veux que les fichiers du dossier c:\\windows\\system32

    Est-ce que ceci ne fait pas la m�me chose:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import glob
     
    def rech_Dll():
        files = glob.glob('c:\\windows\\system32\\*.*')
        for f in files:
            if os.path.splitext(f)[1] in ('.dll', '.DLL'):
                if not os.path.basename(f) in Table_Dll_Win7_64:
                    Tab_Dossier.append('c:\\windows\\system32' +' < ' + (f) + ' >')

  3. #3
    Membre confirm� Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comt�)

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 153
    Par d�faut
    Salut

    Je ne connaissais pas glob

    la fonction utilisera un autre repertoire d'ou le param�tre

    Table_Dll_Win7_64[xname] est d�clar� comme �a :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Table_Dll_Win7_64=['accessibilitycpl.dll','ACCTRES.dll','acledit.dll','aclui.dll','acppage.dll','acproxy.dll','ActionCenter.dll'\
                       ,'ActionCenterCPL.dll','ActionQueue.dll','activeds.dll','actxprxy.dll','adprovider.dll','adsldp.dll','adsldpc.dll'\
                       ,'adsmsext.dll','adsnt.dll','adtschema.dll
    ]
    Tes lignes de code sont explicitent et beaucoup plus facile � comprendre
    merci

    mais avec files = glob.glob('c:\\windows\\system32\\*.*') ,je peux mettre files = glob.glob('c:\\windows\\system32\\*.dll') dans ce cas est-ce qu'il fait la diff�rence avec DLL

  4. #4
    Membre confirm� Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comt�)

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 153
    Par d�faut
    Bonjour

    Je viens de r�aliser un teste sur glob, c'est puissant et le traitement est imm�diat
    je mettrais la solution finale, merci
    je dois encore voir si DLL = dll

    A bient�t

  5. #5
    Membre confirm� Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comt�)

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 153
    Par d�faut
    Bonsoir,

    En r�solu et je remet le code peut modifi�.
    Encore merci pour glob

    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
     
    def rech_Dll(chemin,NbFic_lu):  # recherche des Dll manquantes sur systeme
                        path = chemin+'\\*.*'
                        files = glob.glob(path)
     
                        for f in files:
                            if os.path.splitext(f)[1] in ('.dll', '.DLL'):
                                if not os.path.basename(f) in Table_Dll_Win7_64:
                                    NbFic_lu += 1
                                    md5=md5fic(chemin,f)
                                    Tab_Dossier.append("MD5 [ "+md5+" ]"+' < '+(f)+' >') # MAJ tableau pour edition
                                    Listscan.insert(END,'MD5 [ '+md5+' ]'+' < '+f+' >') # affichage canvas du bas le fichier du Ddur et Non trouve dans tableau
                                    Listscan.update()
                                    Listtitle.delete(1,1)
                                    Listtitle.insert(1,'Nombre de Dll non référencée(s) : '+str(NbFic_lu)) # affichage canvas du haut
                                    Listtitle.itemconfig(1,fg='red')
                                    Listtitle.delete(5,5)
                                    Listtitle.insert(5,'Dernière Dll non référencée : '+(f))
                                    Listtitle.itemconfig(5,fg='red')
                                    Listtitle.update()
                                if len(Tab_Dossier)==0:
                                    Listtitle.delete(5,5)
                                    Listtitle.insert(5,'Aucune Dll détectée')
     
                        return(NbFic_lu)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2007] Copie, recherche, insertion, donn�es dans tableau
    Par stephst84 dans le forum Macros et VBA Excel
    R�ponses: 11
    Dernier message: 21/05/2010, 16h52
  2. Recherche �l�ment m�dian dans tableau non tri�
    Par chicorico dans le forum Algorithmes et structures de donn�es
    R�ponses: 7
    Dernier message: 27/05/2009, 17h39
  3. Recherche de doublons dans tableau
    Par mavean dans le forum Excel
    R�ponses: 4
    Dernier message: 03/08/2008, 23h42
  4. �criture d'un fichier texte dans tableau
    Par minola dans le forum VB 6 et ant�rieur
    R�ponses: 18
    Dernier message: 29/11/2007, 17h42
  5. Rechercher Fichier specifique dans un lecteur
    Par franck.automaticien dans le forum Scripts/Batch
    R�ponses: 29
    Dernier message: 10/05/2007, 16h05

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