我想使用Python 2.7在xml文件中添加持续时间属性。
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
?
答案 0 :(得分:3)
您需要将struct_time
组件转换为datetime.timedelta
object才能明确处理持续时间:
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()
method:
print total_time.total_seconds()