Antilog, mort aux .log

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 156 fois - Téléchargée 18 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
saigneurdushi Messages postés 45 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 25 janvier 2011
13 mars 2012 à 12:07
Exact XELOLIN
sauf que sous windows ou wine ca marchera mieu avec (dir+"\"+a) et delet("c:\")
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
12 mars 2010 à 15:43
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.
litllechicken Messages postés 3 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 7 mars 2010
7 mars 2010 à 00:01
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 :)

++
snooky68 Messages postés 4 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 1 mars 2010
1 mars 2010 à 09:38
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.