Ciao Salvatore, > Ciao a tutti > vorrei fare un script che legga un file di log > e fino a qua ci arrivo > > f = open("path_del_file/nomefile.log", "r") > > > nel file di log c'e' una data sempre allo stesso posto come faccio a > leggerla mi servirebbe una cosa del tipo string tokenizer di java > oppure leggere la data ultima modifica del log
Se conosci la posizione esatta della data, secondo me non ti conviene tokenizzare la stringa. Per fare qualcosa del genere, si utilizza split(): >>> "python rulez".split() ['python', 'rulez'] >>> Invece io prenderei dalla riga la stringa che corrisponde alla data, tramite la tecnica dello slicing: >>> stringa = "Oggi è il 18/01/2007" >>> stringa[11:21] '18/01/2007' Magari di questo fai lo split: >>> date_elements = stringa[11:21].split('/') >>> print date_elements ['18', '01', '2007'] E lo giri, per farlo digerire a datetime.datetime (che prende i parametri nell'ordine anno, mese, giorno). >>> import datetime >>> date_elements.reverse() Ed infine, utilizzando list comprehension e "srotolamento", passi la lista al costruttore dell'oggetto datetime: >>> aday = datetime.datetime(*[int(x) for x in date_elements]) > poi la voglio confrontare con la data corrente e se non coincide > scrivere un altro file di log . Con il metodo now() di datetime.datetime ottieni un oggetto datetime che è relativo all'istante in cui lo crei, e che quindi puoi agevolmente utilizzare per i confronti. HTH, -- [ Andrea Spadaccini - a.k.a. Lupino - from Catania - ICQ #: 91528290 ] [ GPG ID: 5D41ABF0 - key on keyservers - Gentoo GNU / Linux - 2.6.18 ] [ Linux Registered User 313388 - @: a.spadaccini(at)catania.linux.it ] [ Make everything as simple as possible, but not simpler. ]
signature.asc
Description: PGP signature
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python