我试图使用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)
答案 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")