【问题标题】:how to pass a variable to isodate in python?如何在python中将变量传递给isodate?
【发布时间】:2013-08-16 19:31:46
【问题描述】:

我从 youtube 的 v3 api 获取持续时间值。

然后我想将该值传递给转换 iso 格式的 isodate 函数 秒。

       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

【问题讨论】:

  • 对于我们这些没有 Youtube API 访问权限的人,你能给出type(ytDUR), str(ytDUR)的输出吗?
  • ok check edit...它基本上输出一个iso8601字符串
  • 好的。所以该字符串不适用于%f,它是用于浮点数的。为什么不只是ytTime = isodate.parse_duration(ytDUR)?它对我有用,即isodate.parse_duration('PT6M19S')
  • K.i.S.S...谢谢!把它作为一个答案,这样我就可以相信你了。
  • 谢谢!我很感激。

标签: python string youtube-api isodate


【解决方案1】:

为什么不只是ytTime = isodate.parse_duration(ytDUR)?它对我有用,即isodate.parse_duration('PT6M19S')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-23
    • 2011-02-17
    • 2018-08-30
    • 2020-05-11
    • 2021-06-02
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多