2012-11-29 68 views
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_time定義爲struct_time

回答

2

你需要的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() 
+0

謝謝,它工作正常:) – Hamideh