Для меня самое элегантное решение, без необходимости прибегать к внешним библиотекам, таким как dateutil или ручному анализу ввода, - это использовать datetime мощный strptime
метод анализа строк.
from datetime import datetime, timedelta
# we specify the input and the format...
t = datetime.strptime("05:20:25","%H:%M:%S")
# ...and use datetime's hour, min and sec properties to build a timedelta
delta = timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)
После этого вы можете использовать объект timedelta как обычно, преобразовать его в секунды, чтобы убедиться, что мы сделали все правильно и т. Д.
print(delta)
assert(5*60*60+20*60+25 == delta.total_seconds())