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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a