python调试

1.断言:

凡是可以用print都可以用assert替代:

if(n==0)
    print('n is zero!')
          ↓
assert n!=0, 'n is zero!'

意思是如果n!=0不为True,那么会抛出AssertionError: n is zero!

另外在运行程序时加上-O表示忽略assert

2.logging

logging不会抛出错误,而是可以输出到文件,而且可以为其指定级别:

debug、info、warning、error等。

import logging

logging.basicConfig(level=logging.INFO)
logging.info('------')

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

logging的另一个好处是通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件。

 

posted @ 2020-06-14 20:19  _STAyy  阅读(108)  评论(0编辑  收藏  举报