pycallgraph 追溯代码的实现过程

实现过程
第一步:
     1.pip install pycallgraph
第二步:
     1.安装graphviz
            A.macOS brew安装:brew install graphviz
            B.windows https://pythondict.com/go/?url=https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi,
      配置环境变量后,然后重启
     2.配置
      

     

第三步:
     1.运行代码就行
from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
from pycallgraph import Config
from pycallgraph import GlobbingFilter

def work():
    print(111)


class Banana:

    def eat(self):
        pass


class Person:

    def __init__(self):
        self.no_bananas()

    def no_bananas(self):
        self.bananas = []

    def add_banana(self, banana):
        self.bananas.append(banana)

    def eat_bananas(self):
        [banana.eat() for banana in self.bananas]
        self.no_bananas()


def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'basic.png'
    config = Config()
    config.max_depth = 10 # 控制最大追踪深度

    with PyCallGraph(output=graphviz, config=config):
        #work()
        person = Person()
        for a in range(10):
            person.add_banana(Banana())
        person.eat_bananas()


if __name__ == '__main__':
    main()
     
 
   资料来源:
        -a.https://blog.csdn.net/qq_46614154/article/details/105918067?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161381212116780274155081%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161381212116780274155081&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-25-105918067.pc_search_result_cache&utm_term=python%E4%BE%9D%E8%B5%96%E5%9B%BE
        -b.https://blog.csdn.net/weixin_34054931/article/details/94327636?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%9C%A8Python%E4%B8%AD%E5%88%9B%E5%BB%BA%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E5%9B%BE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-94327636.pc_search_result_cache
            

猜你喜欢

转载自blog.csdn.net/weixin_40895135/article/details/113888849