Добавить значения времени в Python - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть список времени в следующем формате:

Час: Минута: Секунда. Микросекунды

Файл выглядит так:

0:06:50.137529
0:08:55.439963
0:06:19.179093
0:07:16.680906
0:31:55.778010
0:16:56.940836

Есть лифункция Python или набор команд, которые позволят мне добавить все эти значения вместе?

Я изначально "строю" эти значения с помощью следующего кода:

optimize_times = []
starting_time=(datetime.now())
ending_time=(datetime.now())
optimize_times.append(str(ending_time-starting_time))

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете использовать datetime.timedelta из стандартной библиотеки:

from datetime import timedelta

L = ['0:06:50.137529', '0:08:55.439963', '0:06:19.179093',
     '0:07:16.680906', '0:31:55.778010', '0:16:56.940836']

def str_to_td(x):
    hrs, mins, sec_micro = x.split(':')
    secs, msecs = map(int, sec_micro.split('.'))
    return timedelta(hours=int(hrs), minutes=int(mins), seconds=secs, microseconds=msecs)

res = sum(map(str_to_td, L), timedelta())

# datetime.timedelta(0, 4694, 156337)

Обратите внимание, что результатом является объект timedelta.Если это не тот формат, который вам нужен, вам нужно преобразовать обратно в строку с дополнительной логикой.

...