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