在 python 中分析自我和参数?

Posted

技术标签:

【中文标题】在 python 中分析自我和参数?【英文标题】:Profiling self and arguments in python? 【发布时间】:2009-06-23 10:02:41 【问题描述】:

如何在 python 中分析涉及 self 和 arguments 的调用?

def performProfile(self):
    import cProfile
    self.profileCommand(1000000)

def profileCommand(self, a):
    for i in a:
        pass

在上面的示例中,我将如何分析对 profileCommand 的调用?我发现我需要使用 runctx 作为参数,但是我该如何处理 self 呢? (代码实际上涉及到一个 UI,所以很难单独拉出对 profile 的调用)。

【问题讨论】:

【参考方案1】:

您需要传递 locals/globals 字典并传递您通常输入的第一个参数 例如

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()

并且不要在 profile 中调用整个 UI,分析特定的功能或计算

【讨论】:

以上是关于在 python 中分析自我和参数?的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中分析来自连续输入流(记录)的数据,多处理?

在 Python 中分析导入

在 perl 中分析 IIS 网站

在 PyCharm 中分析 python 时内存使用率非常高

如何在 Python 中分析内存使用情况?

如何在 Python 中分析内存使用情况?