我从youtube的v3 api中获取持续时间值。
然后,我想将该值传递给isodate函数,该函数将转换iso格式秒。
ytContentDetails = requests.get("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=%s&key=%s"%(ytID, ytAPIkey)).json()
ytDUR = ytContentDetails['items'][0]['contentDetails']['duration']
print ytDUR
ytTime = isodate.parse_duration('%f') ytDUR
但我总是犯错误。
ytTime = isodate.parse_duration('%r')% ytDUR
File "/Library/Python/2.7/site-packages/isodate/isoduration.py", line 99, in parse_duration
raise ISO8601Error("Unable to parse duration string %r" % datestring)
ISO8601Error: Unable to parse duration string '%f'
我哪里错了?
我尝试过将%f更改为不同的转换,但没有成功。
我认为这是一个线索。。。
parse_duration:
parses an ISO 8601 duration string into a timedelta or Duration object.
ytDUR值输出类似于…的东西。。。。
PT6M19S
为什么不只是ytTime = isodate.parse_duration(ytDUR)
?它对我有效,即isodate.parse_duration('PT6M19S')
。