我试图学习如何使用热点分析简单的python程序,但是却遇到了一个奇怪的错误,

import sys
import hotshot
def main(argv):
  for i in range(1,1000):
    print i

if __name__ == "__main__":
  prof = hotshot.Profile("hotshot_edi_stats")
  b,c = prof.runcall(main(sys.argv))
  prof.close()


和输出,

.
.

995
996
997
998
999
Traceback (most recent call last):
  File "t.py", line 9, in <module>
    b, c = prof.runcall(main(sys.argv))
  File "/usr/lib/python2.5/hotshot/__init__.py", line 76, in runcall
    return self._prof.runcall(func, args, kw)
TypeError: 'NoneType' object is not callable


谁知道为什么会这样吗?在我看来,hotshot profiler本身就是一个问题。另外,人们是否对配置Python程序的其他方法有建议?

谢谢!

最佳答案

而且我想我已经找到了两个多小时没有错过的东西。

事实证明,runcall()应该称为

runcall(main, self.argv)


这使事情正常!

关于python - 尝试分析简单程序的Python-Hotshot错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1061361/

10-11 09:07