Antilog, mort aux .log

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 864 fois - Téléchargée 17 fois

Contenu du snippet

Vous en avez marre des .log ?
Avec antilog vous appuyez sur entrée et tous les .log disparaissent de votre disque dur.

N'hésitez pas à me faire part de vos idées d'amélioration.

note : Ce programme est compilable par shedskin, un exe se trouve dans le zip.

Source / Exemple :


import glob
import os.path

print "--PROGRAMME DE SUPPRESSION DE LOG PAR Clem120%--"
raw_input("\nVoulez vous supprimer tous les fichiers .log ?")

def listdirectory(path):
    fichier=[]
    l = glob.glob(path+'\\*')
    for i in l:
        if os.path.isdir(i): fichier.extend(listdirectory(i))
        else: fichier.append(i)
    return fichier

for fichier in listdirectory("c:"): # pour chaque fichier trouve
 if fichier[-4:len(fichier)] == ".log" and os.path.isfile(fichier):
  try:
   os.remove(fichier)
   print fichier, "[SUPPRIME]"
  except:
   print "impossible de supprimer", fichier

raw_input("\nLES FICHIERS LOGS ONT ETE SUPPRIMES")

Conclusion :


mort aux logs !

A voir également

Ajouter un commentaire Commentaires
Messages postés
45
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
25 janvier 2011

Exact XELOLIN
sauf que sous windows ou wine ca marchera mieu avec (dir+"\"+a) et delet("c:\")
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
2
Au lie de créer une liste de dossier au debut, pourquoi ne pas faire :

def delet (dir):
for a in os.listdir(dir):
if os.path.isdir(a) :
delet(dir+"/"+a)
elif a[4:]==".log":
os.remove(dir+"/"+a)

delet("c:/")

ça evite d'avoir tout l'aboressance de la machine en mémoire vive...

En tout cas, même si ta source est un peu légère, elle a une uilitée, et je te donne donc 6/10.
Messages postés
3
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
7 mars 2010

Bonne idée manquerai la partie choix du lecteur (question soulignée par SNOOKY68). Pas testé cependant ! Avec une petite interface graphique (choix lecteur/chemin + 2 boutons quitter et ok) ce serai beaucoup plus vendeur :)

Merci du partage dans tous les cas :)

++
Messages postés
4
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
1 mars 2010

Salut,

Je n'est pas testé le code, juste regardé! (J'y tien à mes logs!!! lol)
Cependant, j'ai quelques remarques pour améliorer ton bout de code.

raw_input("\nVoulez vous supprimer tous les fichiers .log ?")
- Oui... c'est bien, mais si je veut pas? il n'y a pas possibilité de faire oui ou non! Donc si je veut pas je suis obligée de fermer le programme à la "barbare"! Donc peut mieux faire, un simple if..else suffirait, puis un try..except pour terminer le programme.

fichier[-4:len(fichier)]:
Pourquoi ne pas utiliser os.path.splitext? Tu a importé ton os.path en plus!

if fichier[-4:len(fichier)] == ".log" and os.path.isfile(fichier):
L'inverse est mieux! Vérifie d'abord que c'est un fichier et ensuite vérifie que c'est un log! Les if s'exécute dans l'ordre en python!

fichier in listdirectory("c:"):
... mis à part le faite que sous linux sa marche pas (je suis pas sur qu'il y ait des fichiers los sous linux en plus) bref! Le problème la, c'est que mon disque c'est "D:"! Je pense qu'il y a mieux pour listé les partitions!

Voilà, au premier coup d'œil c'est tout! A toi de jouer!! ;)

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.