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接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Python实现简单过滤文本段的方法
May 24 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
解读python如何实现决策树算法
Oct 11 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
Python改变对象的字符串显示的方法
Aug 01 Python
Selenium 配置启动项参数的方法
Dec 04 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
Python图像处理库PIL详细使用说明
Apr 06 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
PHP的宝库目录--PEAR
2006/10/09 PHP
基于文本的留言簿
2006/10/09 PHP
php中几种常见安全设置详解
2010/04/06 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
如何使用python进行pdf文件分割
2019/11/11 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
毕业生求职推荐信
2013/11/04 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
阳光体育活动方案
2014/02/16 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
个人买房协议书范本
2014/10/06 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python