Как добавить продолжительность?

1

Я хочу добавить атрибуты продолжительности времени в xml файле, используя Python 2.7.

import xml.etree.ElementTree as ET
import time

for k in root.findall('TC'):
    ttt= k.get('time')
    s = time.strptime(ttt, "%H:%M:%S")
    total_time = total_time + s

Я не могу использовать оператор +, ошибка - это unsupported operand types (+) None_Type, time.struct_time.

Как определить total_time как struct_time?

Теги:
datetime

1 ответ

3
Лучший ответ

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

import datetime
import time

total_time = datetime.timedelta()
for k in root.findall('TC'):
    ttt= k.get('time')
    s = time.strptime(ttt, "%H:%M:%S")
    total_time = total_time + datetime.timedelta(
        hours=s.tm_hour, minutes=s.tm_minute, seconds=s.tm_second)

Нет простого способа конвертировать информацию struct_time в продолжительность; он фактически предназначен для значений даты и времени, хотя использование .strptime() для синтаксического анализа длительности - не слишком плохая идея.

Значение total_time теперь является объектом datetime.timedelta(). Чтобы получить общее количество секунд, используйте для .total_seconds() метод .total_seconds():

print total_time.total_seconds()
  • 0
    Спасибо, все работает нормально :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню