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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 473 fois - Téléchargée 33 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
Messages postés
43
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
25 février 2013

Tres bien commenter , merci
en effet petit probleme sous Winxp

Idefix57
Messages postés
110
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
19 février 2009

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.