实用python代码分析工具(错误跟踪、效率和内存泄漏分析)

traceback

收集错误信息,并打印

import traceback
    try:
    ...#代码块
    except Exception as e:
        traceback.print_exc()

pyinstrument

代码效率分析,可以分析代码段的执行效率,每个函数的执行时间。

from pyinstrument import Profiler

profiler = Profiler()
profiler.start()
  ...# 代码块
profiler.stop()
print(profiler.output_text(unicode=True, color=True))

memory_profiler

内存增量分析,可以分析函数代码每一行代码造成的内存增加情况。

from memory_profiler import profile # for debug
@profile(precision=4,stream=open('memory_profiler.log','w+')) # for debug
function():
	'''
	待测试函数
	'''
	pass # 占位

tracemalloc

内存分析,可分析代码段间的内存分配情况。用法是一前一后开启两个snapshot,查看前后的差别。

tracemalloc.start()
snapshot1 = tracemalloc.take_snapshot()
... # 代码块
snapshot2 = tracemalloc.take_snapshot()
top_stats = snapshot2.compare_to(snapshot1, 'lineno')
print(top_stats)

版权声明:本文为weixin_43572595原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。