cProfile没有方法runcall

时间:2018-02-07 17:51:21

标签: python python-2.7 cprofile

我试图使用cProfile来分析一些python代码。我认为我需要使用ParentControl.FindName("VideoControl") as MediaElement ,而不是cProfile.runcall(),因为我要运行的方法的格式为cProfile.run(),而不仅仅是self.funct()

当我尝试使用funct()详细here时,我收到以下错误:

cProfile.runcall

是否已从cProfile中删除了runcall方法?如果是,是否有另一种方法可以使用AttributeError: 'module' object has no attribute 'runcall'

形式

最小(非)工作示例:

cProfile.runcall(self.funct,*args)

1 个答案:

答案 0 :(得分:1)

在这种情况下,问题是因为runcall()Profile 实例的方法,而不是模块级函数(这是您的代码尝试的方式)使用它)。您需要先构建一个实例,如documentation中的代码段所示。

这似乎有用(在{Python 2.7.14中):

import cProfile

def funct(a):
    print a

pr = cProfile.Profile()
pr.enable()
pr.runcall(funct, "Hello")