cProfile.run()没有做任何事情

时间:2014-05-04 06:38:34

标签: python

这可能是一个愚蠢的问题,但我花了2个小时研究这个问题,似乎是唯一有这个问题的人。

import cProfile
cProfile.run('import game; game.main()')

所有这一切都运行并返回game.main()函数。结果与运行没有cProfile的game.main()没什么不同。但互联网上的其他人似乎都从几乎相同的代码中获得了一个漂亮,整洁的数据表。我做错了什么。

1 个答案:

答案 0 :(得分:1)

cProfile.run会在代码段结束时生成包含分析统计信息的表。 在您的情况下,对game.main()的调用是一个无限循环,因此cProfile将只运行循环,直到它因某种原因停止。

您可以通过按 Ctrl + C 来尝试突破无限循环,这会在程序中引发KeyboardInterrupt异常。 当程序退出时,您将看到统计表(以及异常的回溯)。