Skip to main content
 首页 » 编程设计

尝试分析一个简单程序的 Python-Hotshot 错误

2024年08月12日32grandyang

我正在尝试学习如何使用 hotshot 分析一个简单的 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 

有人知道为什么会这样吗?在我看来,这是热点分析器本身的问题。或者,人们对分析 python 程序的其他方法有什么建议吗?

谢谢!

请您参考如下方法:

而且我想我已经弄清楚了我错过了 2 个多小时的东西..

事实证明,runcall() 应该被调用为,

runcall(main, self.argv) 

这让一切顺利进行!