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
后,debug
和info
就不起作用了。这样一来,你可以放心地输出不同级别的信息,也不用删除,最后统一控制输出哪个级别的信息。
logging
的另一个好处是通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件。