【问题标题】:Call Python cProfile from within a function. (Or other way to use cProfile with Django)从函数中调用 Python cProfile。 (或其他在 Django 中使用 cProfile 的方式)
【发布时间】:2012-09-03 13:00:08
【问题描述】:

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

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

cProfile.run('my_function()')

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

一切都说要使用 cProfile 执行“main”函数,但我真的没有一个 main 函数或一个明显的方式来运行我的程序,除了从网页。

【问题讨论】:

    标签: python cprofile


    【解决方案1】:

    您需要runctx 而不是run

    您可以将全局变量和局部变量传递给cProfile.runctx 调用,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2011-03-09
      • 1970-01-01
      • 2012-02-12
      相关资源
      最近更新 更多