begin process at 2010 09 04 11:36:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

tri de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tri de fichier

mardi 24 juin 2008 à 16:55:05 | tri de fichier

mtanfin

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??
vendredi 11 juillet 2008 à 05:25:18 | Re : tri de fichier

xeolin

.... 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


Cette discussion est classée dans : fichier, os, for, in, if


Répondre à ce message

Sujets en rapport avec ce message

coversion string<-->list [ par john491 ] Bonjour a tous. Je dois creer une petite bibliotheque sur les polynomes ( donc j'ai pas le droit d'utiliser les fonctions predefinies sur les polynome Python / SQLite / for...in... [ par samylatortue ] Bonjour à tous,je suis face à un problème depuis quelque jours...j'ai une base de donnée dans laquel il y a 2 tables j'aimerais prendre une partie des probleme avec os.path.getctime() [ par Bl0tCh ] Voilà, Donc cette fonction est censée me donner la date de creation du fichier (en secondes) mais le probleme c ke elle me donne la premiere date de c Caractère de coupure + formfeed [ par bowbz ] Bonjour, J'essaie de créer de multiples fichiers à partir d'un gros fichier. Dans ce gros fichier, il y a un séparateur que j'aimerai utiliser comme Python, jeu de mémory [ par Mattmad ] Bonjour, je suis en train de plancher sur un jeu de memory via python mais je ne parviens pas à résoudre un "petit" problème, je vous pose la question Traitement de fichier texte [ par garoubeef ] Bonjour, je dispose d'un fichier texte rempli d'adresses email. Je dois traiter ce fichier de façon à recupérer la chaine de caractère precedent le " Imprimer un fichier *.txt depuis python [ par sevanaya ] Bonjour a tous, Je vais peut etre passer pour un naz, mais je débute soyez indulgeants S.V.P !! Alors voila mon probleme je devellope en ce moment enregistrer un fichier .txt avec caractères accentués [ par Mic92 ] Bonjour à tous J'enregistre dans une BDD (sqlite) pas de problème les caractères accentués sont enregistré, Mais si je veux enregistrer une fichier . Mac Os X [ par champagnef ] J'ai installé tout d'abord macpython 2.3. je pouvais accéder à la database par le package manager. Puis ayant Os X.3.5, j'ai installé pythonpanther, m Pb avec os.path.join [ par MHI ] Il doit y avoir un problème avec os.path.join lorsqu'on un un répertoire ou un fichier compmençant par un chiffre.Exemple :c:\temp\77.txt donne C:\T


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales