【问题标题】:How to count time elapsed in Python multiple functions如何在 Python 多个函数中计算经过的时间
【发布时间】:2013-08-15 14:50:39
【问题描述】:

我正在尝试计算一个非常长的过程需要多长时间:

import datetime

def main(argv):
    starttime = datetime.datetime.now()
    for f in somearray:
        doSomething(f)
    endtime = datetime.datetime.now()
    deltatime = endtime-starttime
    print "Operation took " + str(deltatime.seconds) + " seconds"

def doSomething(f):
    # this takes a looong time (~10 minutes)

在上面的代码中,我最终只得到了最后一次运行 doSomething 的时间。我曾经将doSomething 作为main 函数的一部分,而且时机很好,但是将它移到自己的函数中是有意义的。

我看到了this question,但它似乎满足了不同的需求。

我做错了什么?

谢谢

【问题讨论】:

  • 所以你真的想知道执行一次 doSomethin 需要多长时间?为什么不把它放在方法里面呢?
  • 我想知道全部执行需要多长时间(f 出现 doSomething

标签: python timing


【解决方案1】:

您遇到的错误是什么? datetime 没有 .seconds 属性,但它确实有 .second 属性。也许在你的代码中尝试str(deltatime.second)

【讨论】:

  • 他的deltatime 是一个datetime.timedelta 实例,所以它确实有一个seconds 属性。
  • AttributeError: 'datetime.timedelta' object has no attribute 'second' Seconds 工作得很好。我没有错误。问题是starttime 可能会被覆盖或以某种方式重置?
猜你喜欢
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 2020-04-12
相关资源
最近更新 更多