python五种调试或排错的方法
2024-10-13 17:44:10
1、print,直接打印,比较简单而且粗暴
在代码中直接输入print+需要输出的结果,根据打印的内容判断即可
2、assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多
如下,直接将预期结果和实际结果做判断
def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z不等于5" def false_code(): x = 3 y = 3 z = x + y assert(5==z), "z不等于5" true_code() false_code()
运行结果如下:
3、pdb交互式源代码调试
常用命令:break或b 设置断点
continue或c 继续执行程序,或跳到下个断点
list或l 查看当前行的代码段
step或s 进入函数
return或r 执行代码知道从当前函数返回
exit或q 中止并退出
next或n 执行下一行
p或! 打印变量的值例如a为变量,则输入p a
help或h 帮助
在使用pdb时需要导入pdb库,然后在代码中需要的地方引入pdb代码片段,如下:
import pdb if __name__ == "__main__": a = 1 pdb.set_trace() #创建pdb代码片段 b = 2 c = a + b print(c)
输入pdb命令,并且查看结果:
4、日志,定位问题记录程序运行情况
主要是引入logging库
logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为
debug(), info(), warning(), error() and critical()
5个级别,根据需要选择不同的级别打印日志
5、IDE Debuger 图形界面便于数据查看,支持多线程调试,远程调试
主要是IDE中自带的debug调试
设置断点,运行时以debug模式运行,或这shift+F9运行
最新文章
- MySQL 5.6 OOM 问题解决分享【转】
- MachineKey 操作 之 获取 MachineKey
- cxf3.1.4所需jar,大部分都可以从cxf3.1.4的lib包下找到
- #uwp# XMAL
- 创建 sequence
- rtabmap_ros安装---43
- 组合数学or not ---- n选k有重
- eclipse环境下tomcat远程调试方法
- 电商ERP常见功能模块
- Jquery_Ajax文件上传
- TJU 2944 Mussy Paper 最大权闭合子图
- SSH整合,";sessionFactory "; or ";hibernateTemplate "; is required异常
- 基于visual Studio2013解决C语言竞赛题之1045打印成绩
- 【android】下载文件至本应用程序的file文件夹或者sdcard
- 【Tomcat源码学习】-1.概述
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL
- java for循环增强(foreach)
- Oracle免安装绿色版-PLSQL连接报12154
- 【转载】JsonLayout log4j2 json格式输出日志
- JavaScript如何实现继承