Federico ha scritto:
> Salve a tutti, ho un piccolo problema con dati di tipo float. Dovrei
> recuperare le ultime cifre del modulo time(). 

Per farci cosa?

Tieni conto, comunque, che la funzione time di Python restituisce un
float per uniformità, ma l'API del sistema operativo restituisce il
numero di secondi dalla Epoca, ed il numero di
millisecondi/microsecondi (o altro, a seconda dell'API).

Su sistemi POSIX, ad esempio:
http://www.opengroup.org/onlinepubs/009695399/functions/gettimeofday.html

Ecco un pezzo di codice che fa il lavoro.
NOTA che potrebbe non essere portabile, dato che le dimensioni di time_t
e suseconds_t potrebbero variare in base alla piattaforma:

from ctypes import *

class timeval(Structure):
    _fields_ = [ ('tv_sec', c_long),
                 ("tv_usec", c_long) ]

libc = CDLL('libc.so.6')

tv = timeval()
libc.gettimeofday(pointer(tv), None)

print tv.tv_sec
print tv.tv_usec


Al momento di scrivere questo messaggio, ottengo:
1259190076
993246


In questo contesto, non riesco proprio ad immaginare cosa tu voglia fare
con le ultime due cifre decimali del valore:
tv.tv_sec + tv.tv_usec / 1000000.


> [...]


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

Rispondere a