python中调试或排错的五种方法示例


Posted in Python onSeptember 12, 2019

前言

本文主要给大家介绍了关于python中调试或排错的五种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的的介绍吧

python调试或排错的五种方法

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()

运行结果如下:

python中调试或排错的五种方法示例

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命令,并且查看结果:

python中调试或排错的五种方法示例 

4、日志,定位问题记录程序运行情况

主要是引入logging库

logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为  debug(), info(), warning(), error() and critical()5个级别,根据需要选择不同的级别打印日志

5、IDE Debuger 图形界面便于数据查看,支持多线程调试,远程调试

主要是IDE中自带的debug调试

设置断点,运行时以debug模式运行,或这shift+F9运行

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python中 ? : 三元表达式的使用介绍
Oct 09 Python
Python中的日期时间处理详解
Nov 17 Python
使用Python脚本和ADB命令实现卸载App
Feb 10 Python
python编程培训 python培训靠谱吗
Jan 17 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 Python
python 字典的打印实现
Sep 26 Python
Django 多对多字段的更新和插入数据实例
Mar 31 Python
keras 如何保存最佳的训练模型
May 25 Python
谈谈python垃圾回收机制
Sep 27 Python
详解Python 中sys.stdin.readline()的用法
Sep 12 #Python
Python3将数据保存为txt文件的方法
Sep 12 #Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 #Python
调试Django时打印SQL语句的日志代码实例
Sep 12 #Python
Python socket非阻塞模块应用示例
Sep 12 #Python
Python的条件锁与事件共享详解
Sep 12 #Python
Python的互斥锁与信号量详解
Sep 12 #Python
You might like
php操作excel文件 基于phpexcel
2010/07/02 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP中phar包的使用教程
2017/06/14 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
Python的subprocess模块总结
2014/11/07 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python使用django搭建web开发环境
2017/06/09 Python
python正则表达式的使用
2017/06/12 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
Python读写文件基础知识点
2019/06/10 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
Python gevent协程切换实现详解
2020/09/14 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
中学生运动会通讯稿大全
2014/09/18 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2016中考冲刺决心书
2015/09/22 职场文书