Cálculo del tiempo en Python (datetime.timedelta?)

Estoy seguro de que esto es un nobrainer para muchos de ustedes, pero me encuentro realmente confundido con todo lo relacionado con datetime.timedelta. Esencialmente, hago una marca de tiempo cuando comienzo startTime y luego marca la hora de finalización del proceso endTime y estoy tratando de obtener la diferencia en HH: MM: SS y no tengo suerte.

Recibo este error cuando endTime - startTime :

 TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time' 

Editado para incluir el resultado final:

 startTime = datetime.now()  endTime = datetime.now() calcdTime = endTime - startTime print str(calcdTime)[:-4] 

Esto da como resultado: H: MM: SS.MM (eliminando así los últimos 4 caracteres del timedelta

Use una datetime y datetime lugar de una time . Restar una vez de otra no tiene sentido sin una fecha; no puedes asumir que están en el mismo día y el operando de la izquierda es lo primero.

Dependiendo de lo que esté haciendo con la información, es posible que desee usar time.time :

 import time starttime = time.time() # do stuff endtime = time.time() elapsed = endtime - starttime print elapsed 

Lo que le dará el tiempo transcurrido en segundos. Esto suele ser más conveniente que tener un timedelta .