[Python] Ricavare ultime cifre
Manlio Perillo
manlio_perillo a libero.it
Gio 26 Nov 2009 00:05:14 CET
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
Maggiori informazioni sulla lista
Python