这可能是一个愚蠢的问题,但我花了2个小时研究这个问题,似乎是唯一有这个问题的人。
import cProfile
cProfile.run('import game; game.main()')
所有这一切都运行并返回game.main()函数。结果与运行没有cProfile的game.main()没什么不同。但互联网上的其他人似乎都从几乎相同的代码中获得了一个漂亮,整洁的数据表。我做错了什么。
答案 0 :(得分:1)
cProfile.run
会在代码段结束时生成包含分析统计信息的表。
在您的情况下,对game.main()
的调用是一个无限循环,因此cProfile
将只运行循环,直到它因某种原因停止。
您可以通过按 Ctrl + C 来尝试突破无限循环,这会在程序中引发KeyboardInterrupt
异常。
当程序退出时,您将看到统计表(以及异常的回溯)。