从函数中调用Python cProfile。 (或者使用Django的cProfile的其他方式)

时间:2012-09-03 13:00:08

标签: python cprofile

如何从函数中调用cProfile,使用它来调用和分析另一个函数?

我有一个函数start(),它是从我的网页调用的(使用Django)。在这个函数中,我放置了cProfile调用:

cProfile.run('my_function()')

这给了我错误“名称my_function未定义”。但是,如果我只是进行正常的函数调用,函数被称为没问题:my_function()

所有内容都表示使用cProfile执行“主要”功能,但我没有一个主要功能或一个明显的方式来运行我的程序,除了从网页。

1 个答案:

答案 0 :(得分:5)

您需要runctx而不是run

您可以将全局变量和本地变量传递给cProfile.runctx来电,如下所示:

cProfile.runctx('my_function()', globals=globals(), locals=locals())