python 调试之assert and logging
断言 assert
assert后面跟的表达式应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。
如果断言失败,会抛出AssertionError
def foo(s):
n = int(s)
assert n != 0, 'n is zero'
return 10/n foo('0') 输入结果:
Traceback (most recent call last):
File "。。。/errorPrac.py", line 35, in <module>
foo('0')
File "。。。errorPrac.py", line 32, in foo
assert n != 0, 'n is zero'
AssertionError: n is zero
logging
logging不但能抛出错误,还可以输出到文档
输出到文档的内容需要在import logging的时候定义,允许定义输出信息的级别:debug, info, warning, error,
当制定level = INFO后,logging.debug就不起作用了。同样的,如果指定 level = ERROR, 前面的debug,info和warning都不起作用了
logging还有一个好处,通过简单的配置,一条语句可以同时输出到不同的地方,比如console和文件
如:
import logging
logging.basicConfig(level=logging.INFO)
def test(s):
n = int(s)
logging.info('n = %d' % n)
print(10 / n) test('0') 输出:
NFO:root:n = 0
Traceback (most recent call last):
File errorPrac.py, line 44, in <module>
test('0')
File errorPrac.py, line 42, in test
print(10 / n)
ZeroDivisionError: division by zero
python 调试之assert and logging的更多相关文章
- Python之日志处理(logging模块)
本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日 ...
- 【转】Python之日志处理(logging模块)
[转]Python之日志处理(logging模块) 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging ...
- Python之日志处理(logging模块)转载
本人主要做一个知识的归类与记录,如是转载类文章,居首都会备注原链接,尊重原创者,谢谢! 此文转载原链接:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 ...
- Python之日志处理(logging模块一基础)
转载自:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logg ...
- 如何用pdb进行python调试
本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/l ...
- python 调试
python 调试基本和gdb调试一样,举例: debug .py #!/usr/bin/python print "hello" i=0 for j in range(10) ...
- 使用Sublime Text搭建python调试环境
原文地址:http://blog.csdn.net/wenxuansoft/article/details/38559731 pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的 ...
- Python - 调试Python代码的方法
调试(debug) 将可疑环节的变量逐步打印出来,从而检查哪里是否有错. 让程序一部分一部分地运行起来.从核心功能开始,写一点,运行一点,再修改一点. 利用工具,例如一些IDE中的调试功能,提高调试效 ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
随机推荐
- CentOS7安装配置Bacula yum方法
参考: https://www.baidu.com/link?url=o2QIy2YZWjsJPAFJuYFhrH3nPvtyRkSe-o5Q_FqFZ5E1EMOsIOmGeKm0HAonwHOw8 ...
- mvc4使用百度ueditor编辑器
前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好几个问题,以此来记录解决办法.编辑器可以到http://ueditor.baidu.com/website/downloa ...
- L245
The State Council will lay down new rules that aim to make management compatible with internationall ...
- 【转】Delphi 10.3关于相机该注意的细节
感谢移动信息化专家提供的方法,他的ChinaCock组件是相当的专业,感兴趣可以加入qq群223717588.
- 【Python】利用正则解析xml练习题
{ "date": "18-03-29 06:04:47", "data": { "deviceType": 1, &q ...
- linux 安装crontab执行定时任务
转载:https://www.cnblogs.com/xiaoluo501395377/archive/2013/04/06/3002602.html http://yangqijun.iteye.c ...
- SQL注入之Sqli-labs系列第十一关(基于单引号的万能密码注入)
本来以前写过sqli-labs的实战文章,但由于搞了事情,自己的服务器IP被封了,到期后又不太想续了,就一直没管.心酸的痛,都懂的....... 好了,最近这两天一口气写完前十关GET型的,现在到了P ...
- oracle函数创建及调用
创建函数的语法如下: CREATE [OR REPLACE] FUNCTION function_name[ (argment [ { IN | OUT | IN OUT } ] Type , arg ...
- php获取真实ip地址(转)
REMOTE_ADDR只能获取访问者本地连接中设置的IP,如中南民族大学校园网中自己设置的10.X.XXX.XXX系列IP,而这个函数获取的是局域网网关出口的IP地址, 如果访问者使用代理服务器,将不 ...
- C++指针易错点梳理
1 指针定义 指针是一个变量:指针的值是另一个变量的地址.变量的声明 type *var-name; var-name 是指针变量的名称.星号是用来指定一个变量var-name是指针变量. int * ...