Python调试

  • A+
所属分类:python快速入门
摘要这一篇文章简单介绍两种Python调试的方法,希望可以提高Python调试的效率,也方便自己之后的查找。

这一篇文章主要介绍一些Python的两个调试方法,pdb.set_trace()logging。

logging

之前自己调试的时候其实经常会使用print来进行调试,但是最后使用的时候会打印很多信息,但是当调试完毕之后就不想打印这么多了,这个时候可以使用logging来进行调试。

关于详细资料可以查看这个链接 : python logging模块使用教程;

使用logging需要在最开始添加一行配置

  1. import logging
  2. logging.basicConfig(level=logging.INFO)

logging允许你指定记录信息的级别,有debuginfowarningerror等几个级别,当我们指定level=INFO时,logging.debug就不起作用了。同理,指定level=WARNING后,debuginfo就不起作用了。这样一来,你可以放心地输出不同级别的信息,也不用删除,最后统一控制输出哪个级别的信息。

logging的另一个好处是通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件。(来自廖雪峰Python3-调试

我们看一个例子,来大致了解一下:

  1. import fire
  2. import pdb
  3. import logging
  4. logging.basicConfig(level=logging.INFO)
  5. def Multiplication(x, y):
  6.     """
  7.     x*y
  8.     """
  9.     logging.info("To Calcuate %d * %d" % (x,y))
  10.     logging.info("--- --- ---")
  11.     z=x*y
  12.     #pdb.set_trace()
  13.     return(z)
  14. def main():
  15.     fire.Fire(Multiplication)
  16. if __name__ == '__main__':
  17.     main()

我们看一下运行的效果,这样调试信息会直接输出出来;

Python调试

我们也可以将logging输出到文件中,只需要修改第一行的配置;

  1. logging.basicConfig(filename='logger.log',level=logging.INFO)
Python调试

pdb.set_trace()

这种方法是设置断点,可以通过单步调试,查看栈内变量。

参考链接:Python单步调试

我们还是使用上面的代码,进行运行,下面展示一些常用的操作:

Python调试

 

以上就是两种Python简单调试的方法,上面给出了几个参考链接,更多的可以查看链接内容。

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: