如何从函数中调用cProfile,使用它来调用和分析另一个函数?
我有一个函数start(),它是从我的网页调用的(使用Django)。在这个函数中,我放置了cProfile调用:
cProfile.run('my_function()')
这给了我错误“名称my_function未定义”。但是,如果我只是进行正常的函数调用,函数被称为没问题:my_function()
所有内容都表示使用cProfile执行“主要”功能,但我没有一个主要功能或一个明显的方式来运行我的程序,除了从网页。
答案 0 :(得分:5)
您需要runctx
而不是run
。
您可以将全局变量和本地变量传递给cProfile.runctx
来电,如下所示:
cProfile.runctx('my_function()', globals=globals(), locals=locals())