手机版

GitHub热点:停止用打印输出调试代码

时间:2021-08-25 来源:互联网 编辑:宝哥软件园 浏览:

4月23日,GitHub每日趋势榜第一名是一条Python,相关项目:PySnooper。

该项目很快获得了2200星。

什么是PySnooper?

如果您的Python代码没有按计划运行,您将绞尽脑汁找出出错的原因。虽然你想有一个成熟的支持断点的调试器,但也许你现在不想设置这样的调试器。

你想知道哪些代码行是正常的,哪些是异常的。据说大多数人会在可疑的地方使用打印输出语句。

其实PySnooper也有类似的功能。你不需要小心翼翼地打印出语句,只需要在你想要调试的函数中引入一个装饰器。然后获取该函数的详细日志,包括运行了哪些行,何时运行了哪些行,以及何时更改了局部变量。

为什么PySnooper能从其他智能调试工具中脱颖而出?

因为您可以在糟糕且庞大的企业代码库中使用它,而无需任何设置。只需打开装饰器(如下例所示)并将输出重定向到专用的日志文件,指定日志文件路径作为第一个参数。

用法示例

一个例子是将数字转换成二进制的函数。

如果number : bit=[]而number: number,余数=divmod(number,2)bit,则导入pys nopper @ pys nopper . snoop()def number _ to _ bits(number):insert (0,剩余)返回位else :返回[0] number _ to _ bits (6)输出示例

起始var:number=621:14:32 . 099769调用3 @ pysnooper . snoop()21:14336032 . 099769第5行如果number :21:14:32 . 099769第6行位=[]New var:bits=[] 21:14:32.099769第7行,number :21:14:32.099769第8行number,余数=divmod(number,2)New var:余数=0修改的var:number=321:14:32.099769第9行第9位插入(0,余数)修改的var:bits=[0]21:14:32.099769第7行,而number :21:14:32.099769第8行,余数=divmod(number,2)Modified var3360.number=修改的var:余数=121:14:32.099769第9行位。插入(0,余数)修改的变量:bits=[1,0]21:14:32.099769第7行,而number :21:14:32.099769第8行,余数=divmod(number,2)Modified var3360.number=021:14:32.099769第9行第9位插入(0,余数)修改的var:bits=[1,1,0] 21:14336032.099769第7行而number :213301433032.099769第10行返回bits 21:1433303.09979返回10返回bits童鞋感兴趣,请收藏:

https://github.com/cool-RR/PySnooper

好了,这篇文章就介绍给大家了,希望对大家有所帮助!

版权声明:GitHub热点:停止用打印输出调试代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。