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
Rejoignez-nous