从函数内部调用Python cProfile(或其他使用Django的cProfile方法)

3

如何在函数内部调用cProfile,使用它来调用和分析另一个函数?

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

cProfile.run('my_function()')

这让我出现了“名称my_function未定义”的错误。然而,如果我只是进行普通的函数调用:my_function(),函数就可以被成功调用。
所有资料都说要使用cProfile执行“main”函数,但我没有单个的主函数或者明显的方法来运行我的程序,除非从网页中运行。
1个回答

11

你需要使用runctx而不是run

你可以像这样将全局和局部变量传递给cProfile.runctx调用:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接