Python程序的简单调试方法

2019-05-07  本文已影响0人  易点梅

1、第一种方式使用print()函数将可能的错误进行输出

2、使用断言assert

        assert  n != 0, 'n is zero'

        当n!=0时,断言为True,否则断言失败,抛出AssertionError

        启动Python解释器可以用-O来关闭断言,被关闭的断言相当于pass语句:python -O demo.py

3、使用logging

        import logging

        logging.basicConfig(level=logging.INFO)

        logging.info('n = %d'% n)

logging提供了有debug,info,warning,error等几个级别,当我们指定level=INFO,logging.debug就不起作用了。同理,指定level=WARNING后,debug和info就不起作用了。这样一来,你可以放心地输出不同级别的信息,也不用删除,最后统一控制输出哪个级别的信息。logging的另一个好处是通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件。

4、使用pdb:启动Python的调试器pdb,让程序以单步方式运行,可以随时查看运行状态。

        python -m pdb err.py 

以参数-m pdb启动后,pdb定位到下一步要执行的代码-> s = '0'。

输入命令l来查看代码;输入命令n可以单步执行代码;

任何时候都可以输入命令p 变量名来查看变量;

输入命令q结束调试,退出程序。

通过pdb在命令行调试的方法理论上是万能的,但实在是太麻烦了,如果有一千行代码,要运行到第999行得敲多少命令啊。还好,我们还有另一种调试方法。

5、使用 pdb.set_trace()

这个方法也是用pdb,但是不需要单步执行,我们只需要import pdb,然后,在可能出错的地方放一个pdb.set_trace(),就可以设置一个断点。运行代码,程序会自动在pdb.set_trace()暂停并进入pdb调试环境,可以用命令p查看变量,或者用命令c继续运行。

上一篇 下一篇

猜你喜欢

热点阅读