medición de tiempos
Pablo Rodríguez
oinos en web.de
Lun Jul 28 18:19:40 CEST 2008
antonio wrote:
> El lun, 28-07-2008 a las 17:15 +0200, Pablo Rodríguez escribió:
>> Hola a todos,
>>
>> necesito algo que entiendo que es relativamente sencillo: un cronómetro
>> que empiece con la grabación de sonido y que cada vez que pulse una
>> determinada tecla (o un botón, eso daría igual), me de el tiempo
>> transcurrido desde el inicio de la grabación. Necesito una precisión de
>> milésimas de segundo.
>>
>> Por lo que he estado buscando con Google, no me he aclarado mucho: el
>> módulo timeit parece más bien para medir procesos (y no es exactamente
>> lo que necesito), time.clock() parece bastante impreciso en Unix (uso
>> Linux).
>>
>> Por lo que parece la única alternativa time.time(). Y el código debería
>> ser eso:
>>
>> def on_key_press_event(self, widget, event):
>> if (event.keyval == gtk.keysyms.s):
>> self.starting_time == time.time()
>> elif (event.keyval == gtk.keysyms.space)
>> self.right_now = time.time()
>> print (self.right_now - self.starting_time)
>>
>> No sé si será muy preciso, pero intuyo que es una forma muy chapucera de
>> hacerlo.
>>
>> ¿Hay modos más precisos o más propios de hacerlo?
Gracias, Antonio, por la respuesta.
> ¿Que vas a hacer algo para retocar karaokes?
No, es para medir tiempos de presentaciones.
> Mi consejo es que no te preocupes tanto de la precisión, porque cuando
> un humano maneja un cronómetro lo más impreciso siempre será el humano.
Bien, si eso es preciso en décimas de segundo, en realidad me vale (no
voy a medir competición de F1 ;-)).
La chapuza es que quizá me parece raro que no exista un par de funciones
que marquen el inicio del tiempo y la diferencia desde ese inicio de
tiempo (pero sin estar vinculados a la medición de un proceso).
Lo que me he dado cuenta es que lo que propongo arriba está mal por
varios fallos, debería ser:
def on_key_press_event(self, widget, event):
if (event.keyval == gtk.keysyms.s):
starting = time.time()
self.start = []
self.start.append(starting)
elif (event.keyval == gtk.keysyms.space)
self.starting_time = self.start[0]
self.right_now = time.time()
print self.right_now - self.starting_time
En fin, fallos de novato. Gracias por la ayuda,
Pablo
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es