python-装饰器pysnooper

 

变量追踪器?

复制代码
"""
@pysnooper
日志打印工具,显示运行的时间及运行到当前代码时各变量的值(默认只打印局部变量的值)
可用于装数类、函数,
可直接使用with pysnooper.snoop(): 只打印函数里的变量 output='a.txt' #将结果保存到文件a.txt prefix='shuzf' #打印信息前添加shuzf watch=("a",) #打印变量a的值,不管是不是全局还是局部变量 watch_explode=("a",) #打印变量a的子值,不管是不是全局还是局部变量 列表/字典里的值 depth=1 #设置追踪级别默认1,若装饰函数调用了其他函数,则需要设置为2   
""" import pysnooper @pysnooper.snoop(watch=("a",)) def bSort(arr): for i in range(len(arr)-1): for j in range(len(arr)-i-1): if arr[j] > arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] return arr bSort([3,2,1]) @pysnooper.snoop(watch=("a",)) def test1(c): global a a = [1,2,3] def inner(): nonlocal c c += 10 print('局部变量', locals()) print('全局变量', list({key: value} for key, value in globals().items() if ('__' not in key and 'pysnooper' not in key))) return inner() test1(1) def test2(): lst = [i for i in range(10)] with pysnooper.snoop(): lower = min(lst) upper = max(lst) mid = (lower + upper) / 2 print(lower, mid, upper) test2()
复制代码

 

posted @   南方的墙  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示