Bonjour à tous,
Je souhaite supprimer des fichiers ne contenant pas la chaîne de caractère BDD et je n'arrive pas à ne choisir que ces fichiers pour la suppression je pensais utiliser la fonction os.remose()
Merci
Bonjour à tous,
Je souhaite supprimer des fichiers ne contenant pas la chaîne de caractère BDD et je n'arrive pas à ne choisir que ces fichiers pour la suppression je pensais utiliser la fonction os.remose()
Merci
Bonjour,
Je n'ai pas compris quel était votre probleme... Je reformule pour etre sur : vous avez plein de fichiers et ceux qui n'ont pas un nom qui comporte BDD vous désirez les supprimers, c'est bien sa ?
Si oui : http://python.developpez.com/faq/?page=String
PArmis cette doc j'ai trouvé :
J'espere vous avoir aidé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 fichier = 'fichierBDDkudhe.txt' nombre = fichier.count('BDD') if nombre == 0: os.remove(fichier)
Mickael
SUPER ça marche tip top
Voici mon code final
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 # suppression des fichier listeFichiers = glob.glob(dirdest+'*.*') for fichier in listeFichiers : nombre = fichier.count('BDD') if nombre == 0: os.remove(fichier)
Remarques.
glob permet de "filtrer" les fichiers qui "matchent" le pattern qu'on lui passe. Ca utilise listdir et fnmatch.
Comme ici vous récupérez l'ensemble des fichiers du répertoire "dirtest", os.listdir est largement suffisant.
Vous ne souhaitez pas compter le nombre d'occurrences de 'BDD' dans le fichier mais sélectionner ceux dont le nom ne contient pas... Ce qui traduit en Python s'exprime if 'BDD' not in name...
Je ne sais pas ce que vaut dirtest ni quel était le répertoire par défaut lorsque vous avez testé, mais listdir retourne les noms des fichiers dans path et si vous omettez de le préciser pour le remove, vous allez avoir des surprises.
Comme je suppose que vous êtes en train de nettoyer les fichiers convertis de vos précédents posts, pourquoi ne pas le faire en sortie de la boucle de traitement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # suppression des fichier for fichier in os.listdir(dirdest): if 'BDD' in fichier: os.remove(os.path.join(dirtest,fichier))
- W
Merci pour ta réponse wiztricks, mais en fait je veux supprimer les fichiers ne contenant pas BDD
voici le code adapté
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # suppression des fichiers for fichier in os.listdir(dirdest): if not 'BDD' in fichier: os.remove(os.path.join(dirdest,fichier))
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager