如何在python中分析涉及self和arguments的调用?
def performProfile(self):
import cProfile
self.profileCommand(1000000)
def profileCommand(self, a):
for i in a:
pass
在上面的例子中,我将如何描述对profileCommand的调用?我想我需要使用runctx作为参数,但我该如何处理self? (代码实际上涉及UI,因此很难单独调用配置文件)。
答案 0 :(得分:11)
你需要传递locals / globals dict并传递你通常会输入的第一个参数 e.g。
cProfile.runctx("self.profileCommand(100)", globals(),locals())
使用类似的东西
class A(object):
def performProfile(self):
import cProfile
cProfile.runctx("self.profileCommand(100)", globals(),locals())
def profileCommand(self, a):
for i in xrange(a):
pass
print "end."
A().performProfile()
并且不要在配置文件中调用整个UI,分析特定的功能或计算