Liste fichier avec extension présise et lancement de proc passé en param

5/5 (2 avis)

Snippet vu 8 742 fois - Téléchargée 35 fois

Contenu du snippet

Cette fonction permet de rechercher dans un répertoire et ses sous-répertoire tous les fichiers possédant une extension précise.

ListeFileExt prend en paramètre l'extention à rechercher, le répertoire et le nom de la procedure à lancer pour chaque fichier rencontré, cette procedure doit-avaoir un seul paramètre, le nom du fichier.

Source / Exemple :


from os.path import join
import os
import string

def ListeFileExt(extSearch, rep, proc):
  for drive, dirs, files in os.walk(rep, 'topdown'):
    for name in files:
      filenu, ext = os.path.splitext(name)
        if (string.upper(ext) == string.upper(extSearch)):
          fich = os.path.join(drive, name)
          exec(proc + "('" + fich + "')")

Conclusion :


Comme cela on peut-soit passé une fonction qui liste les fichiers, soit qui les suppriment ou un autre traitement quelconque.

Exemple :

def saveL(s):
fic.write(s)
fic.write('\n')

def supprFile(s):
os.remove(s)

if __name__ == '__main__':

# on peut lister tous les fichiers avec l'extension .net dans un fichier texte
fic = open('texte.txt','a')
ListeFileExt('.net','C:\\','saveL')
fic.close()

# ou bien on peut demander de les supprimer
ListeFileExt('.net','C:\\','supprFile')

A voir également

Ajouter un commentaire Commentaires
cs_Idefix57 Messages postés 43 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 25 février 2013
29 avril 2006 à 20:01
Tres bien commenter , merci
en effet petit probleme sous Winxp

Idefix57
cs_MHI Messages postés 110 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 19 février 2009 1
1 déc. 2004 à 10:59
fonctionne bien sous linux, mais sous windows petit problème vaec les fichier et les répertoire commencant par un chiffre.

Vous n'êtes pas encore membre ?

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

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 et codes sources.

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