1

我想使用 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_timestruct_time

4

1 回答 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()方法

print total_time.total_seconds()
于 2012-11-29T14:06:34.020 回答