Tri de fichier

mtanfin
Messages postés
8
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
24 juin 2008
- 24 juin 2008 à 16:55
xeolin
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
- 11 juil. 2008 à 05:25
Bonjour;

Alors voilà en fait je voudrais trier des fichiers en fonction de leur date de création. en fait le but est de regarder dans chaque fichier si la dernière ligne est la même (il s'agit d'une date), et si oui ne garder que le fichier le plus récent de ceux-ci et donc supprimer les autres.

J'ai tenté le code suivant mais bon ca ne marche pas et je crois qu'au niveau des boucles for pour pouvoir vérifier dans chaque fichier, il doit y avoir mieux comme méthode :

import os
import re
import time
#fichier = [x for x in os.listdir("/tmp/") if x.startswith("msg.")]

for files in [x for x in os.listdir("/home/") if x.startswith("msg.")]:
    fichs = open("/home/"+files,'r')
    lines = fichs.readlines()
    tests = lines[-1][:16]

    for file in [x for x in os.listdir("/home/") if x.startswith("msg.")]:
        fics = open("/home/"+file,'r')
        lines = fics.readlines()
        testss = lines[-1][:16]
       
        if tests == testss :
            from stat import ST_CTIME
            def get_files_by_date(directory):                files [(os.stat(f)[ST_CTIME], f) for f in [x for x in os.listdir("/home/") if x.startswith("msg.") and tests testss] if os.path.isfile(f)]
                files.sort()
                return  [f for s,f in files]
                print f

Est ce que quelqu'un peut m'aider??

1 réponse

xeolin
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
2
11 juil. 2008 à 05:25
.... idiot....

tu fais de belle boucles :

for files in [x for x in os.listdir("/home/") if x.startswith("msg.")]:
    ....
    for file in [x for x in os.listdir("/home/") if x.startswith("msg.")]:
        ...
        if tests == testss :
            from stat import ST_CTIME
            def get_files_by_date(directory):                files [(os.stat(f)[ST_CTIME], f) for f in [x for x in os.listdir("/home/") if x.startswith("msg.") and tests testss] if os.path.isfile(f)]
                files.sort()
                return  [f for s,f in files]
                print f

ok tu créee la fonction ''get_files_by_date'' MAIS TU NE LA LANCE PAS

xeolin
0