发布于2019-08-22 17:55 阅读(1404) 评论(0) 点赞(5) 收藏(4)
异常bug定位,print()函数也可以,但效率上还是慢,后来发现了一个叫PySnooper的装饰器。一般debug调试,都是在我们可能觉得会有问题的地方,去打印输出,看下实际输出了什么,然后思考问题所在。
下载库:
pip install pysnooper
但是pysnooper很方便,运行代码就会输出对应函数的执行数据,并且函数每一步的输出都保存为debug_file.log,我们可以直接去看到底哪里出了问题。
- import pysnooper
-
- @pysnooper.snoop('./debug_feil.log')
- def nu_to(number):
- list1 = []
- for i in range(number):
- if i%2==0:
- list1.insert(0, i)
- else:
- pass
- return list1
-
- nu_to(6)
Starting var:.. number = 6
09:54:45.310977 call 2 def nu_to(number):
09:54:45.310977 line 3 list1 = []
New var:....... list1 = []
09:54:45.312009 line 4 for i in range(number):
New var:....... i = 0
09:54:45.313003 line 5 if i%2==0:
09:54:45.313003 line 6 list1.insert(0, i)
Modified var:.. list1 = [0]
09:54:45.313003 line 4 for i in range(number):
Modified var:.. i = 1
09:54:45.313967 line 5 if i%2==0:
09:54:45.313967 line 4 for i in range(number):
Modified var:.. i = 2
09:54:45.314990 line 5 if i%2==0:
09:54:45.314990 line 6 list1.insert(0, i)
Modified var:.. list1 = [2, 0]
09:54:45.316959 line 4 for i in range(number):
Modified var:.. i = 3
09:54:45.317956 line 5 if i%2==0:
09:54:45.317956 line 4 for i in range(number):
Modified var:.. i = 4
09:54:45.318954 line 5 if i%2==0:
09:54:45.318954 line 6 list1.insert(0, i)
Modified var:.. list1 = [4, 2, 0]
09:54:45.318954 line 4 for i in range(number):
Modified var:.. i = 5
09:54:45.319952 line 5 if i%2==0:
09:54:45.319952 line 4 for i in range(number):
09:54:45.320950 line 9 return list1
09:54:45.320950 return 9 return list1
Return value:.. [4, 2, 0]
文章未经博主同意,禁止转载!
作者:fggfg
链接:https://www.pythonheidong.com/blog/article/53361/f0180e12ab9c76a04248/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!